don't lose sleep over @tailrec in cfor macro