A data race that doesn't compile
Summary
The post explains how to enforce compile-time safety for parallel reducers in Rust by turning a negative race-avoidance problem into a positive matching problem using HList and Sculptor patterns. It discusses the limits of stable Rust for type inequality, pivots to a bijection approach with Peano-number position witnesses, and demonstrates a race-free API with examples and real-world friction. The piece also highlights the Frunk library's influence and practical takeaways for type-level Rust.