Keith Battocchi wrote:
Thanks for explicitly writing out the unification steps; this makes it
perfectly clear where things are going wrong. I was hoping to be able to
have
b' ~ b, l' b' ~ (l b, l b), and z' b' ~ (z b, z b). I guess it makes sense
that these types can't be inferred - is
Matthew Brecknell haskell at brecknell.org writes:
[...]
Nest ((,) (l b) (l b)) ~ Nest (l' b')
l' ~ (,) (l b)
b' ~ (l b) -- (5)
Unifying (2) and the result type from (3):
n ((,) (z b) (z b)) ~ n (z' b')
z' ~ (,) (z b)
b' ~ (z b) -- (6)
From (5) and