with M = lambdaX:intloc. (A=loc1, P=lambdaY:intexp.X:=Y) do with M loc1 do P (@A+1) begin module M(X: intloc) = {alias A=loc1, proc P(Y: intexp) = X:=Y} in begin import M(loc1) in call P(@A+1) end end