fn merge_side( left_spans: &[Span], left_buckets: &[f64], right_spans: &[Span], right_buckets: &[f64], op: impl Fn(f64, f64) -> f64, ) -> Option<(Vec<Span>, Vec<f64>)>