undef is a valid value, so return an empty list
fix comma combinator

Fun story: This interpreted method will not work for pipe combinators,
since by the time the pipe is being interpreted, both sides of the pipe
have already been evaluated.

P::RD does make it very easy to build a parse tree though, so perhaps
we'll start from that and build an interpreter of that parse tree.