Making conversions work with type-class materializers.

Fixes #33 #19

Review by @gzm0 @hubertp
why not pattern match?