Wouldn't this cause excessive boxing/unboxing (i.e. whenever await is being used) rendering this change pointless (or potentially dangerous? if the magic code using instances of this type does reference comparison?)