Collections of objects with typed indices and buildin identifier support.
Implements the Id trait for an object. For example, if an object Animal has
a field 'species_id' which is a pointer toward another Object of type
Species, you can implements Id with the following example. You can also
implement Id for Animal itself (the identifier of an Animal is it's own
field that must be named
The structure returned by
An object that has a unique identifier.
The error type used by the crate.
The type returned by
The corresponding result type used by the crate.