This doesn't work just yet, but its only a few steps away. I hope, something weird about setf and macroexpansion..