Make core fields' has-data check more consistent.

As discussed in #1978.