Capture result from each (major) phase as trees in API

`Seq` is discouraged. You should pick a concrete type like `Vector` or `List` so clients using the code know something about the performance guarantees.