def METHOD_NAME(self, call):
    is_higher_order = False
    # check return type
    if has_func_type(call.checked_type):
        is_higher_order = True
    # check argument types
    for a in call.args:
        if has_func_type(a.checked_type):
            is_higher_order = True
    # if it is higher order, save it for debugging later
    if is_higher_order:
        self.hof.append(call)
    super().METHOD_NAME(call)