fn _date_trunc_coarse<T>( granularity: DateTruncGranularity, value: Option<T>, ) -> Result<Option<T>>where T: Datelike + Timelike + Sub<Duration, Output = T> + Copy,