CCIO: monad for IO actions-as-values