public MEnv <T> Cons(string key, T value) { var env = new MEnv <T>(); env._is_empty = false; env._key = key; env._value = value; env._tail = this; return(env); }
public MEnv <T> Append(MEnv <T> other) { if (_is_empty) { return(other); } else { var env = new MEnv <T>(); env._is_empty = false; env._key = _key; env._value = _value; env._tail = _tail.Append(other); return(env); } }