{pu : Lean.Compiler.LCNF.Purity} →
  {P : Sort u} →
    {fvarId : Lean.FVarId} →
      {binderName : Lean.Name} →
        {params : Array (Lean.Compiler.LCNF.Param pu)} →
          {type : Lean.Expr} →
            {value : Lean.Compiler.LCNF.Code pu} →
              {fvarId' : Lean.FVarId} →
                {binderName' : Lean.Name} →
                  {params' : Array (Lean.Compiler.LCNF.Param pu)} →
                    {type' : Lean.Expr} →
                      {value' : Lean.Compiler.LCNF.Code pu} →
                        Lean.Compiler.LCNF.FunDecl.mk fvarId binderName params type value =
                            Lean.Compiler.LCNF.FunDecl.mk fvarId' binderName' params' type' value' →
                          (fvarId = fvarId' →
                              binderName = binderName' → params ≍ params' → type = type' → value ≍ value' → P) →
                            P