[#2] Get rid of `Typeable` constraints
Problem: previously, Morley had the SingT
data type for the Sing
instance of T
.
The constructors of SingT
were storing Typeable constraints to allow equality
comparison using TypeRep
s. But we already can compare type-level T
s using
the SDecide
type class
Solution: We get rid of those constraints and the SingT
data type in favour the
Sing
and SingI
instances generated by Template Haskell. Here we have the SDecide
instance as well, so we use in the most of the places instead of functions from
Data.Typeable
.
Edited by Danya Rogozin