die "wrong type" unless ref($obj) eq 'Person';
die "wrong type" unless $obj->isa('Person');
die "wrong type" unless $obj->can('name');
die "wrong type" unless UNIVERSAL::can($obj, 'name');