C++17 will require this in order for `object::object()` to be constexpr. Add it here, before switching over.
This removes the need to walk all objects when creating a new one, since each object can have a private generation counter, unaware of other objects. For compatibility with demos, mix in the object's index when writing the signature value.