modify function type
improve loop/recur
fix named function