Right, you can pass a function:
final_function(fun() -> maybe_function(X) end)
or
final_function(maybe_function, X)
if final_function does:
final_function(Function, X) -> Function(X).
final_function(fun() -> maybe_function(X) end)
or
final_function(maybe_function, X)
if final_function does:
final_function(Function, X) -> Function(X).