gitextract_jfkkq38d/ ├── .github/ │ └── workflows/ │ └── rust.yml ├── .gitignore ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── Cargo.toml ├── LICENSE ├── README.md ├── fp-core/ │ ├── Cargo.toml │ └── src/ │ ├── applicative.rs │ ├── apply.rs │ ├── chain.rs │ ├── comonad.rs │ ├── compose.rs │ ├── empty.rs │ ├── extend.rs │ ├── extract.rs │ ├── foldable.rs │ ├── functor.rs │ ├── hkt.rs │ ├── identity.rs │ ├── lens.rs │ ├── lib.rs │ ├── monad.rs │ ├── monoid.rs │ ├── pure.rs │ ├── semigroup.rs │ └── setoid.rs ├── fp-examples/ │ ├── Cargo.toml │ └── src/ │ ├── adt_example.rs │ ├── anamorphism_example.rs │ ├── applicative_example.rs │ ├── arity_example.rs │ ├── catamorphism_example.rs │ ├── closure_example.rs │ ├── comonad_example.rs │ ├── continuation_example.rs │ ├── contracts_example.rs │ ├── currying_example.rs │ ├── empty_example.rs │ ├── endomorphism_example.rs │ ├── foldable_example.rs │ ├── function_composition_example.rs │ ├── functor_example.rs │ ├── hof_example.rs │ ├── homomorphism_example.rs │ ├── idempotent_example.rs │ ├── isomorphism_example.rs │ ├── lambda_example.rs │ ├── lens_example.rs │ ├── main.rs │ ├── monad_example.rs │ ├── monoid_example.rs │ ├── option_example.rs │ ├── partial_application_example.rs │ ├── pointed_functor_example.rs │ ├── predicate_example.rs │ ├── purity_example.rs │ ├── referential_transparency_example.rs │ ├── semigroup_example.rs │ ├── setoid_example.rs │ ├── side_effects_example.rs │ ├── type_signature_example.rs │ └── value.rs └── rust-toolchain.toml