Why make these two calls to `defined`?  If one or both are `undefined`, then `equals` should do what we expect once we are using the non-prototype version.