we can use defmacro now, but as we do not have much primitive, we are
unable to test the code now