add SWAP macro
support datum label reader
error on macroexpanding circular objects
update readme
Merge branch 'datum-label'