/* 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