I'd like to separate serialization (IO) from traversal of the stucture (pure), but how can one avoid the entire heap object from being built? Can lazyness be exploited?
Something I didn't quite understand from your email is whether
1. the data structure is being constructed and you'd like it simultaneously serialized to disk
or
2. it's already serialized and you'd like to perform pure traversals on it.
Problem 1 is one of compute then write, problem 2 is one of read then compute.