May 26, 2018
Return a pair only if they are both defined
Moose classes and some other classes distinguish between an attribute being unset and the attribute being set to undef.
To ensure that the Person constructor does not try to set a name or age at all when they are undefined, ugly looking code is often used. A slightly more elegant solution is the maybe function.