pub fn write_results<State, Parameters, SimulationResult>( results: impl Iterator<Item = (State, Parameters, SimulationResult)>, projection: impl Fn(State, Parameters, SimulationResult) -> Option<String>, file_name: &str, ) -> Result<()>