 Curried and higher-order functions can be used to eliminate redundant code.For example, a library may require functions of type codice_47, but it is more convenient to write functions of type codice_48 where there is a fixed relationship between the objects of type codice_49 and codice_50.A higher order function of type (a * c -> b) -> (a -> b) can factor out this commonality.