compiler may perform tco against macroexpand_node
remove unused helper function
remove old code that has been commented out for a long
small refactor
inline 'with' macro
split files