implementation module StdBool2 import StdEnv lift0 :: // meest algemene type lift0 f a = f a lift1 :: // meest algemene type lift1 f g1 a = f (g1 a) lift2 :: // meest algemene type lift2 f g1 g2 a = f (g1 a) (g2 a) lift3 :: // meest algemene type lift3 f g1 g2 g3 a = f (g1 a) (g2 a) (g3 a) instance ~~ Bool where ... instance ||| Bool where ... instance &&& Bool where ... instance ~~ (a -> Bool) where ... instance ||| (a -> Bool) where ... instance &&& (a -> Bool) where ... Start = ( filter ((<) 3 &&& (>) 8) [1 .. 10] , filter (~~ ((==) 5)) [1 .. 10] )