tcfail133.hs:2:61: Warning: -XDatatypeContexts is deprecated: It was widely considered a misfeature, and has been removed from the Haskell language. tcfail133.hs:68:7: No instance for (Show a0) arising from a use of `show' The type variable `a0' is ambiguous Possible fix: add a type signature that fixes these type variable(s) Note: there are several potential instances: instance Show Zero -- Defined at tcfail133.hs:8:29 instance Show One -- Defined at tcfail133.hs:9:28 instance (Show a, Show b, Number a, Digit b) => Show (a :@ b) -- Defined at tcfail133.hs:11:54 ...plus 29 others In the expression: show In the expression: show $ add (One :@ Zero) (One :@ One) In an equation for `foo': foo = show $ add (One :@ Zero) (One :@ One) tcfail133.hs:68:14: No instance for (AddDigit (Zero :@ (One :@ One)) One a0) arising from a use of `add' Possible fix: add an instance declaration for (AddDigit (Zero :@ (One :@ One)) One a0) In the second argument of `($)', namely `add (One :@ Zero) (One :@ One)' In the expression: show $ add (One :@ Zero) (One :@ One) In an equation for `foo': foo = show $ add (One :@ Zero) (One :@ One)