>>1
sub car { eval { $_[0]->[0] }; }sub cdr { eval { $_[0]->[1] }; }sub cons { [ $_[0], $_[1] ] }sub list { my $x = []; map { $x = [ $_, $x ]; } reverse @_; $x; }sub liststar { my $x = pop; map { $x = [ $_, $x ]; } reverse @_; $x; }