experiment with two complex parser approaches
narrow down my options
optimize for fastpath
add guards to parser
updated tests
compiler changes