I don't know, I always thought having methods that return `self` is kind of ugly.  The whole point of it is just so you can chain method calls together, but I don't know if I like changing the entire object design just to support slightly easier syntax.  I'm all for easy syntax but this seems too costly.  (Full disclosure, I'm coming from lisp where changing the syntax is a piece of cake and doesn't require such sacrifice)