This does bring up a question. According to the ECMA docs (Partition III, 2.1), "In the presence of ldloca and ldargs instructions, it isn't always possible for a compiler from CIL to native code to optimally determine when a tail. can be automatically inserted." How do the ldloca and ldargs instructions affect tail calls?