inferred key plumbing, refactor arity/arg checking

ensure we plumb key-inferredness so that both runtime and pre-processor
can apply the same scoping logic

note that we now always defer to the scope for key normalization (whether
or not the key was inferred)
v0.0.7