1 /* This is legal. The second function "g" simply hides the first one.
2 Because of the intervening variable declaration, the two "g" functions
3 are not in the same batch of mutually recursive functions.
6 function g(a:int):int = a
8 function g(a:int):int = a