Haskell type operator precedence
问题 When the language extension TypeOperators is enabled, it's possible to define own type operators. Also, it's possible to set their relative precedence with infix* . But what's the precedence of (->) , for example? > :i (->) data (->) a b -- Defined in `GHC.Prim' instance Monad ((->) r) -- Defined in `GHC.Base' instance Functor ((->) r) -- Defined in `GHC.Base' instance Applicative ((->) a) -- Defined in `Control.Applicative' instance Arrow (->) -- Defined in `Control.Arrow' instance Monoid b