sub clone { my $self = shift; bless [@$self], ref $self; }