
Whereas the core `facet` crate provides essential traits like `Facet` itself, and
data structures like `Type`, `StructType`, `Field`, etc., `facet-reflect` uses that
information about the shape of types to allow:

  * Read-only access to already-initialized values (via [`Peek`])
  * Construction of values from scratch (via [`Partial`])

This allows, respectively, serialization and deserialization, without risking breaking
invariants in types that implement `Facet`.
