Check exports

Closing #562 again, and also checks that when a class is exported so are all its members, as suggested by @jdegoes.
`forM_ exps ...` 3 times seemed a little silly. If it's fine though, that's great, it'd explain why I couldn't think of a way to avoid it! (I tried using `>>` to compose the checks at first, but then errors get lost, etc.)