doing this as a separate commit to avoid messy diffs for the important part of this change
All but 1 of the tests migrated from streams_old passes.