∀ (kind : Lean.Elab.DefKind) (ref headerRef : Lean.Syntax) (modifiers : Lean.Elab.Modifiers)
  (declId binders : Lean.Syntax) (type? : Option Lean.Syntax) (value : Lean.Syntax)
  (docString? : Option (Lean.TSyntax `Lean.Parser.Command.docComment × Bool))
  (headerSnap? : Option (Lean.Language.SnapshotBundle (Option Lean.Elab.HeaderProcessedSnapshot)))
  (deriving? : Option (Array Lean.Syntax)),
  sizeOf
      { kind := kind, ref := ref, headerRef := headerRef, modifiers := modifiers, declId := declId, binders := binders,
        type? := type?, value := value, docString? := docString?, headerSnap? := headerSnap?, deriving? := deriving? } =
    1 + sizeOf kind + sizeOf ref + sizeOf headerRef + sizeOf modifiers + sizeOf declId + sizeOf binders + sizeOf type? +
            sizeOf value +
          sizeOf docString? +
        sizeOf headerSnap? +
      sizeOf deriving?