Implementations
The Rust trait surface that ties the conceptual model to running
code: Puzzle for the static puzzle data, Game for in-progress
play, tagged serialization for round-tripping puzzles and games
across the wire, dispatching for routing genres at runtime, the
shared propagation engine, and the Puzzlehound dataset that feeds
everything else.