for ```gensym``` to work, every instance of ```n``` should be ```~n```.

This is with ```n```

    => (macroexpand '(ap-last (> it 10) (range 10)))
    (('fn' [] ('setv' 'n' 'None') ('ap_each' ('range' 10) ('is_none' 'n') ('when' ('>' 'it' 10) ('setv' 'n' 'it'))) 'n'))

And this is with ```~n```

    => (macroexpand '(ap-last (> it 10) (range 10)))
    (('fn' [] ('setv' ':n_1240' 'None') ('ap_each' ('range' 10) ('is_none' ':n_1240') ('when' ('>' 'it' 10) ('setv' ':n_1240' 'it'))) ':n_1240'))