{α : Type} →
  List (Lean.Name × String × α) →
    (optParam (Lean.Name → α → Lean.AttrM Unit) fun x x_1 => pure ()) →
      optParam Lean.AttributeApplicationTime Lean.AttributeApplicationTime.afterTypeChecking →
        autoParam Lean.Name Lean.registerEnumAttributes._auto_1 → IO (Lean.EnumAttributes α)