Erlang 17 was released. And according to Erlang OTP 17.0 has been released:
Funs can now be given names
No examples are given.>
This version doesn't need to pass in the function as one of the args:
1> Fac = fun(Num) -> Foo = fun(F, 0) -> 1; (F, N) when N > 0, is_integer(N) -> N * F(F, N -1) end, Foo(Foo, Num) end.