stopped using macrolet when force-single-check is nil
it no longer uses macrolet, so it doesn't crash with Iterate