accept the non-pattern match versions
initialize values to undef
Merge branch 'master' into more-grammar-examples