sub new { my $classname_or_objref = shift; return ref $classname_or_objref ? $classname_or_objref->new_clone (@_) : $classname_or_objref->new_pristine(@_) ; }