initSidebarItems({"struct":[["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"]],"trait":[["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 is implemented for T No others implementations alowed"],["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 `Type` must have same HKT. There are few laws: `<::Type as Generic1>::Type == T` `::Type>::Type == X`"],["Rebind2","Generic types with at least two parameters can implement this trait providing an ability to change second generic parameter. Associated `Type` must have same HKT. There are few laws: `<::Type as Generic2>::Type == T` `::Type>::Type == X`"],["Semigroup","Combines asscotiative operation with type"]]});