∀ {α : Type u_1} [inst : Add α] {a b : Thunk α} (εa : Type u_3) (εb : Type u_4) [inst_1 : EstimatorData a εa]
  [inst_2 : EstimatorData b εb] (e : εa × εb),
  EstimatorData.improve (a + b) e =
    match EstimatorData.improve a e.1 with
    | some e' => some (e', e.2)
    | none =>
      match EstimatorData.improve b e.2 with
      | some e' => some (e.1, e')
      | none => none