working on some implications of macrolet recursion