use precedenceClimb for defining typeExpr
use precedenceClimb for defining typeExpr

*Main> runCP' (S' (S' Z')) typeExpr "A ~> B ~> C" :: Maybe (Typ (S (S Z)), String)
Just (Arr (Named "A") (Arr (Named "B") (Named "C")),"")

cartazio/omega,minad/omega