Add documentation and modify and iterator to prefer materialization (TBD)