injecting from m to (n+m) is just id ::: id ::: ... ::: shift n. specifically, injecting from 0 is just the shift. so.
- top level semicolons optional - type optional [the def will need to be an elim] - `load` statement - namespaces