code: def definition(self) -> AstNode | None:
      if macro := self.macro_def():
          return macro
      if family := self.family_def():
          return family
      if pseudo := self.pseudo_def():
          return pseudo
      if inst := self.inst_def():
          return inst
      return None
  
imports: from dataclasses import dataclass, field
  from typing import NamedTuple, Callable, TypeVar, Literal, cast
  import lexer
  from plexer import PLexer
label_desc: Use image node_id 1 for calling the Parser obj's underlying member method code with example usage: obj.definition() and returns: None, macro, family, pseudo, inst