Add inner_product
Add keys
Added lexicographical_compare
Added lower_bound
Added uper_bound
Aded max and min element
Add overload
Add support for multiple overloads in the function builder
Use perfect references in fold