pub fn io_read<T: for<'a> Deserialize<'a>>( source: &mut (dyn Read + Send) ) -> Result<T, Box<dyn Error>>