So, #new: creates a point without values for x and y... What if I want to only build objects that make sense, meaning that their instance variables must conform to some invariant defined by the class?
you can't do this even in smalltalk.
...and checking arguments presence is not enough, you would need to check its internal state too - and you shouldn't do that.
Best, Kamil