sub copy { my $self = shift; bless { %$self }, ref $self; }