{P : Sort u} →
  {hyps : Array Lean.Widget.InteractiveHypothesisBundle} →
    {type : Lean.Widget.CodeWithInfos} →
      {ctx : Lean.Server.WithRpcRef Lean.Elab.ContextInfo} →
        {hyps' : Array Lean.Widget.InteractiveHypothesisBundle} →
          {type' : Lean.Widget.CodeWithInfos} →
            {ctx' : Lean.Server.WithRpcRef Lean.Elab.ContextInfo} →
              { hyps := hyps, type := type, ctx := ctx } = { hyps := hyps', type := type', ctx := ctx' } →
                (hyps = hyps' → type = type' → ctx = ctx' → P) → P