the beginning of a functional order of operations
inspect maps a bit nicer on the test logging
rewrite parts of parseExpr to use parseSingleExpr