Not being able to pass functions as values is a show stopper - it's arguably the single most important tenet of functional languages.
When in doubt, 'they' is a safe bet too.
final_function(maybe_function(X))
vs final_function(maybe_function)(x)
Disclaimer, not familiar with Erlang syntax, so the above example is psuedo-code."If you need more than 3 levels of indentation, you're screwed anyway, and should fix your program." --Linus
final_function(fun() -> maybe_function(X) end)
or
final_function(maybe_function, X)
if final_function does:
final_function(Function, X) -> Function(X).
Sorry I don't see how your comment fits with the gp's comment.