Module Trading_engine.Reducer_phases

Pure reducer-phase sequencing behind one transition contract.

The contract keeps domain state opaque. Every phase receives an immutable reduction and returns either a replacement reduction or a completed slice; only this module decides which phase runs next.

module type CONTRACT = sig ... end
module Make (Contract : CONTRACT) : sig ... end