
18 Feb
2016
18 Feb
'16
9:37 a.m.
On Thu, Feb 18, 2016 at 9:58 AM, Andreas Abel
I also do not see why (a,a) could not be a container of exactly two elements, as opposed to current GHC which insists it is a container of exactly one element. (Case for the mental institution, I'd say.)
Because, given data T a = T a a data T' a b = T a b these two types have essential structural differences at the type level, despite being isomorphic: forall a. T a forall a. T' a a Type classes exist at the type level. These things are decidedly different at the type level. It’s to be expected that their behavior under Functor differs.