fp_library/brands.rs
1//! Higher-kinded representations of [types][crate::types].
2//!
3//! Brands represent higher-kinded (unapplied/partially-applied) forms of
4//! [types][crate::types], as opposed to concrete types, which are
5//! fully-applied.
6//!
7//! For example, [`VecBrand`] represents the higher-kinded type `Vec`, whereas
8//! `Vec A`/`Vec<A>` is the concrete type where `Vec` has been applied to some
9//! generic type `A`.
10
11pub use crate::types::{
12 arc_fn::ArcFnBrand,
13 endofunction::EndofunctionBrand,
14 endomorphism::EndomorphismBrand,
15 identity::IdentityBrand,
16 option::OptionBrand,
17 pair::{PairBrand, PairWithFirstBrand, PairWithSecondBrand},
18 rc_fn::RcFnBrand,
19 result::{ResultBrand, ResultWithErrBrand, ResultWithOkBrand},
20 vec::VecBrand,
21};