{P : Sort u} →
  {x optType : Lean.Syntax} →
    {codeBlock : Lean.Elab.Term.Do.CodeBlock} →
      {x' optType' : Lean.Syntax} →
        {codeBlock' : Lean.Elab.Term.Do.CodeBlock} →
          { x := x, optType := optType, codeBlock := codeBlock } =
              { x := x', optType := optType', codeBlock := codeBlock' } →
            (x = x' → optType = optType' → codeBlock = codeBlock' → P) → P