Typed Errors. Closes #69

Awaiting review.