sub value { my ($self) = @_; return ()=( $self->{first}, $self->{rest} ? $self->{rest}->value : () ); }