local env1 = environment() local env2 = environment() env1:add_var("N", Type()) env1:add_var("x", Const("N")) env2:add_var("N", Type()) local x = Const("x") local N = Const("N") print(env1:infer_type(x)) local infer1 = type_inferer(env1) local infer2 = type_inferer(env2) assert(env1:infer_type(x) == infer1(x)) assert(env2:infer_type(N) == infer2(N))