fun :: (Class a,Class b) => a -> b -> c fun :: (a,b,c) -> (a,b) fun :: (Class a, Class b) => a ->(# d,e #)-> c