Haha. just rewrite = as it should - the binding operation being an atomic operation. = should be
(fn (k v) (bind k v))
EDIT: oh ok it's assign not bind.