public static LValue FromLValue(LValue val)
        {
            if(val is Pointer)
            {
                var p = val as Pointer;
                return p.Value;
            }

            return null;
        }
 public Pointer(LValue value)
 {
     Value = value;
 }
 public Identity(LValue lval)
 {
     Type = IdentityType.LValue;
     LValue = lval;
 }