initial macro expander
a few macros, now compatible with #lang