In Unison functions can be passed as arguments to other functions. A function that takes a function as an argument is sometimes referred to as a "higher order" function. Many of the functions which operate over Unison collection types are "higher order", taking a function argument which describes how the collection should be transformed.
For example jsonschema.lib.base.data.List.map
is a higher order function because it expects a function argument as an argument (a -> b)
.
jsonschema.lib.base.data.List.map : (a ->{𝕖} b) -> [a] ->{𝕖} [b]