get rid of pesky warning about implicit conversions
refactor of macro implementations

helper class for submacros to avoid dragging types and context along.
used OO to get rid of FP boilerplate :)