∀ {α : Type u} {σs : List (Type u)} (f : Std.Do.SVal σs α),
  f.uncurry =
    match (motive := (σs : List (Type u)) → Std.Do.SVal σs α → Std.Do.SVal.StateTuple σs → α) σs, f with
    | [], f => fun x => f
    | head :: tail, f => fun x =>
      match x with
      | (s, t) => (f s).uncurry t