public abstract AssignType CanAssignTo(CodeType fieldType);
public virtual void ConvertTo(CodeValue val, IlBuilder builder, CodeType to) { to.ConvertFrom(val, builder); }
public abstract CodeType GetWiderType(CodeType otherType);