monad instance for CCFun
mplus instance for CCOpt