fn max_datum<'a, I, DatumType>(datums: I) -> Datum<'a>where I: IntoIterator<Item = Datum<'a>>, DatumType: TryFrom<Datum<'a>> + Ord, <DatumType as TryFrom<Datum<'a>>>::Error: Debug, Datum<'a>: From<Option<DatumType>>,