Add locations to all types and report these in errors.

Closes #51