Rust has really powerful generics that can be used to make it more functional in terms of it's composition. Included in this crate are helper functions often times used in languages like Haskell.
Given a finite set of inputs produce a list.
Conversion from an
Given a Tuple return it's first element
Given a value return itself. This is like the mathematical identity function
Works like Haskell's bool, this is a way to do an inline if then else statement if b then x else y
Given a Tuple return it's second element