docs: def get_gene_substitution_language() -> ParserElement:
      """Build a gene substitution parser."""
      parser_element = gsub_tag + nest(
          dna_nucleotide(GSUB_REFERENCE),
          ppc.integer(GSUB_POSITION),
          dna_nucleotide(GSUB_VARIANT),
      )
      parser_element.setParseAction(_handle_gsub)
      return parser_element