# Crate functional [−] [src]

## Structs

Add |
One of the basic binary operation type
It's autoimplemeted for all types which implement std::ops::Add |

Concat |
Concatination operation for sequenses |

Mul |
One of the basic binary operation type
It's autoimplemeted for all types which implement std::ops::Mul |

## Traits

AssociativeOperation |
Declare binary operation as associative |

BinaryOperation |
Define binary operation as type |

Equals |
Equality trait
It is widely used in complex type traits to declare equalty between any types
Equals |

Functor |
Basic functional trait |

Generic1 |
Generic types can implement this trait providing an ability to extract first generic parameter. |

Generic2 |
Generic types with at least two parameters can implement this trait providing an ability to extract second generic parameter. |

Magma |
Basic algebraic structure/ Combines binary operation with type |

Monad |
Monad trait. Can you explain monads... in five words? |

Monoid |
Monoid is Semigroup with neutral element for is's operation |

Rebind1 |
Generic types can implement this trait
providing an ability to change first generic parameter.
Associated |

Rebind2 |
Generic types with at least two parameters can implement this trait
providing an ability to change second generic parameter.
Associated |

Semigroup |
Combines asscotiative operation with type |