fn sum_datum<'a, I, DatumType, ResultType>(datums: I) -> Datum<'a>where I: IntoIterator<Item = Datum<'a>>, DatumType: TryFrom<Datum<'a>>, <DatumType as TryFrom<Datum<'a>>>::Error: Debug, ResultType: From<DatumType> + Sum + Into<Datum<'a>>,