/* error : second function uses variables local to the first one, undeclared variable */ let function do_nothing1(a: int, b: string):int= (do_nothing2(a+1);0) function do_nothing2(d: int):string = (do_nothing1(a, "str");" ") in do_nothing1(0, "str2") end