Wow. You guys are all coming up w/ great alternatives, but would somebody please just answer my question? I am not asking for ways to do what I want. I'm asking if you think the following proposed syntax addition would be useful: Any parameter preceded by a @ results in an instance variable being created and initialized with the submitted value. So: class MyClass def initialize(@a) end end instance = MyClass.new(5) #results in an instance variable @a with a value of 5 This would apply to any parameter in the list, including those with default values. MyClass def initialize(@a, @b=3) end end instance = MyClass.new(5) #results in an instance @a = 5 and @b = 3 instance = MyClass.new(5, 4) #results in an instance @a = 5 and @b = 4 Does this seem like a good thing to propose? Thank you, David