fn read_network<T: PositionSourceCodec>( data: &mut Cursor<&[u8]>, ) -> Result<Box<dyn ErasedPositionSource>>