And thus we encounter a major bummer moment about batman: it is valid and unfortunately relied-upon functionality to use objects as property keys. For example, `RecordSelection`. `Accessible` is a bit of a mind bender but what ends up happening is we have a hash style thing where the keys are `Model` instances and the values are booleans describing if they are selected in that selection or not.

In any case, I don't think we can ship this, because `key` here might be an object. Thats why `SimpleHash::get` and `SimpleHash::set` do that `@objectKey` monkeying around to decide what persistence strategy to use. Is there another way we can get those functions inlined?