add (set! (add a b) ...) support like def