fn date_part_timestamp<'a, T, D>(
    a: Datum<'a>,
    ts: &T
) -> Result<Datum<'a>, EvalError>where
    T: TimestampLike,
    D: DecimalLike + Into<Datum<'a>>,