(.module: [lux #* [abstract [functor (#+ Functor)] [apply (#+ Apply)] [monad (#+ Monad)] [comonad (#+ CoMonad)]] [control ["." function]]]) (type: #export (Identity a) a) (structure: #export functor (Functor Identity) (def: map function.identity)) (structure: #export apply (Apply Identity) (def: &functor ..functor) (def: (apply ff fa) (ff fa))) (structure: #export monad (Monad Identity) (def: &functor ..functor) (def: wrap function.identity) (def: join function.identity)) (structure: #export comonad (CoMonad Identity) (def: &functor ..functor) (def: unwrap function.identity) (def: split function.identity))