in reply to Return $self, but what if I don't wanna?

  1. I have not used Moose yet, but I would be very surprised if you could not return whatever you want. Why should the modifying code depend on the return statement? Have you simply tried to replace the return statement with, e.g., return 42;?
  2. It looks like needless boilerplate to me. Why not just return what you want to return?
  3. Rarely, I believe. Perhaps if you modify several attributes, and the caller most likely would not use them right away.