Making conversions work with type-class materializers.

Fixes #33 #19

Review by @gzm0 @hubertp
why do we need _root_ here?