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