in reply to Do people find warning for undef with string compare useful?

It's not one I find useful. I quite frequently disable uninitialized, void and once (and occasionally numeric) warnings. See also Four annoying warnings.

package Cow { use Moo; has name => (is => 'lazy', default => sub { 'Mooington' }) } say Cow->new->name