requires_encryption_schema? remembers its answer the first time it runs.
If an embedded class hasn't been loaded yet, the check returns (and memoizes) false.
That means the parent's namespace can be missing from the generated
encryption schema map, and the persistence guard may skip a document that
really does need encrypting. It depends on when classes happen to load, so it's kind
of a narrow window, but still worth addressing.