in reply to Re: Mutator chaining considered harmful
in thread Mutator chaining considered harmful

If you don't return $self, you're taking the decision for the user. Which isn't very friendly.

That's actually a better argument than it might seem like, but, as I wrote in my root node update, if you don't write separate mutators, but rather a single central property setter method, you completely obviate the need for chaining to begin with:

$window->set( title => 'foo', border => 20 );

And I was almost going to point out that you were picking up the wrong widget in your rewrite of the chaining because the en passant assignment in

my $button = $window->child->border(20);

misled me.

Really, don't mix these things. It seriously makes reading the code an excercise in frustration.

Makeshifts last the longest.