Reform 3 models form parsing as a Trailblazer step pipeline: for each property, steps read the incoming value, coerce, and write into an internal data structure. Developers insert custom steps into the pipeline (e.g. 'extend name path with an upcase step') rather than overriding setters with context-specific if/else code. Tracing shows exactly which step ran and where exceptions originated, even across deeply nested or collection-valued forms. Serves as the replacement for Reform 2's populators.