Based on a typed variant of Andy Gill's data-reify. After several
tries, I wasn't able to reuse data-reify or my typed variant of it.
The problem was that I need my HasType
class and Type
type, but I
couldn't parameterize data-reify by the class HasType
.