Support "language statement"

This is only correct for single-language developments, but the rest should now be easy. (It took me a while to realize I could use `local` instead of having to switch to a State monad, which I luckily didn't start).

This progresses toward fixing #111.