gen
The alphabet as a uniform random draw — the shape the pool builder consumes.
Derived rather than stored so a binding cannot declare an alphabet the random pass then ignores. A single-op alphabet draws nothing, so wrapping one generator in LatticeOp leaves that binding's per-seed trajectory byte-for-byte what it was.