type Function = (->) type On f g a b = f (g a) (g b) {-# LANGUAGE TypeOperators #-} (Function `On` List) a b