Fix parsing of `SimpleName`s
`name_string` is one of those combinators that doesn't parse nicely if it
comes across something it doesn't fit. This is unfortunate, but comes up
when a parser has to accept so much. Anyway, we should parse the easy
Locals and Args first, then fall back to NameString if neither work.