readStreaming

Streams the trace at path to block — its header plus a lazy event sequence — and closes the reader when block returns, so early termination (e.g. a saturation stop) can't leak it. Use this for large traces; readAll is the load-everything convenience.