fix begin define set! functions bug