A procedure is called a higher-order function if at least one of its inputs is this