title: null GameObject becomes non-null when I convert to object
body: <p>I have a particular function which can take an <code>object</code> as an argument. This is so it can be either a MonoBehaviour or a GameObject:</p>
  
  <p>The wierd thing is, when I convert a null <code>GameObject</code> to an <code>Object</code>, it no longer appears as null:</p>
  
  <pre><code>public class EquipmentSlots : MonoBehaviour {
  
    // This is null: it hasn't been set in the inspector
    public GameObject offHandEquipLocation;
  
    void Start () {
      Validation.RequireField(
        "offHandEquipLocation",
        offHandEquipLocation
      ) 
    }
  
  }
  
  public class Validation : MonoBehaviour {
    public static void RequireField(string name, object field) {
      if (field == null) {
        Debug.Log($"{name} field is unset");
      }
    }
  }
  </code></pre>
  
  <p>The <code>Log</code> call never gets run here, because the object is not null.</p>
  
  <p>If I put <code>Debug.Log(offHandEquipLocation == null)</code> in the <code>Start()</code> function, it prints <code>true</code>. If I put <code>Debug.Log(field == null)</code> in the <code>RequireField()</code> method, it prints <code>false</code>. </p>
  
  <p>Is there a way I can see if the <code>object</code> is null?</p>