No, it isn't if statements and stuff like that. They don't allow functions inside function. It is the *third* level of function that is an issue. Your example only has two levels of functions, the strict function, and then functions in that. The example I give has one further level, defining a function inside a function inside the strict function.