úÎê      Safe-InferedCompose two functions. f .: g is similar to f . g  except that g will be fed two arguments instead of one  before handing its result to f. This function is defined as   (f .: g) x y = f (g x y) Example usage:  % concatMap :: (a -> b) -> [a] -> [b]  concatMap = concat .: map  Notice how two arguments  (the function and the list)  will be given to map before the result  is passed to concat. This is equivalent to: $ concatMap f xs = concat (map f xs) Equivalent to  &The pattern of appending asterisks is 6 more straightforward to extend to similar functions: ' (compose2 = .*, compose3 = .**, etc).  However, .:/ has been commonly adopted amongst Haskellers, ; and the need for compose3 and beyond is rare in practice.          composition-1.0.0.1Data.Composition.:.*.**.***.****.*****.******.******* .********compose2compose3compose4compose5compose6compose7compose8compose9