Use `TypeError`s.

Fixes #69; fixes #70. See discussion at http://esdiscuss.org/topic/exception-type-for-invalid-operations.