Add higher order functions