tcfail206.hs:5:5: Couldn't match expected type `Int' with actual type `Bool' Expected type: Bool -> (Int, Bool) Actual type: Bool -> (Bool, t0) In the expression: (, True) In an equation for `a': a = (, True) tcfail206.hs:8:5: Couldn't match expected type `Bool -> (Int, Bool)' with actual type `(t0, Int)' Expected type: Int -> Bool -> (Int, Bool) Actual type: Int -> (t0, Int) In the expression: (1,) In an equation for `b': b = (1,) tcfail206.hs:11:6: Couldn't match type `a' with `Bool' `a' is a rigid type variable bound by the type signature for c :: a -> (a, Bool) at tcfail206.hs:11:1 In the expression: True || False In the expression: (True || False,) In an equation for `c': c = (True || False,) tcfail206.hs:14:5: Couldn't match expected type `Int' with actual type `Bool' Expected type: Bool -> (# Int, Bool #) Actual type: Bool -> (# Bool, t0 #) In the expression: (# , True #) In an equation for `d': d = (# , True #) tcfail206.hs:17:5: Couldn't match expected type `Bool -> (# Int, Bool #)' with actual type `(# t0, Int #)' Expected type: Int -> Bool -> (# Int, Bool #) Actual type: Int -> (# t0, Int #) In the expression: (# 1, #) In an equation for `e': e = (# 1, #) tcfail206.hs:20:7: Couldn't match type `a' with `Bool' `a' is a rigid type variable bound by the type signature for f :: a -> (# a, Bool #) at tcfail206.hs:20:1 In the expression: True || False In the expression: (# True || False, #) In an equation for `f': f = (# True || False, #)