code: def copy(
              self,
              name,
              start_codons=None,
              stop_codons=None,
              codon_table=None,
              codon_table_changes=None):
          
          new_start_codons = (
              self.start_codons.copy()
              if start_codons is None
              else start_codons)
  
          new_stop_codons = (
              self.stop_codons.copy()
              if stop_codons is None
              else stop_codons)
  
          new_codon_table = (
              self.codon_table.copy()
              if codon_table is None
              else codon_table)
  
          if codon_table_changes is not None:
              new_codon_table.update(codon_table_changes)
  
          return GeneticCode(
              name=name,
              start_codons=new_start_codons,
              stop_codons=new_stop_codons,
              codon_table=new_codon_table)
docs: Make copy of this GeneticCode object with optional replacement
          values for all fields.