expand to fn* instead of fn
push loop-locals in fn-method to allow recur