syntactic sugar for singly-recursive functions

previous commit allowed writing an optional binder f on a lambda to
indicate that the function type annotation T should be expanded to
an open type {f:T} T (in other places, i've written this as *f:T => T)