code: def imm_transient(imm):
      '''
      imm_transient(imm) yields a duplicate of the given immutable imm that is transient.
      '''
      if not is_imm(imm):
          raise ValueError('Non-immutable given to imm_transient')
      # make a duplicate immutable that is in the transient state
      dup = copy.copy(imm)
      if _imm_is_init(imm):
          # this is an initial-state immutable...
          _imm_init_to_trans(dup)
      elif _imm_is_persist(imm):
          # it's persistent; re-transient-ize this new one
          dd = object.__getattribute__(dup, '__dict__')
          dd['_pimms_immutable_is_trans'] = True
      return duf imm_transient(imm):
      '''
      imm_transient(imm) yields a duplicate of the given immutable imm that is transient.
      '''
      if not is_imm(imm):
          raise ValueError('Non-immutable given to imm_transient')
      # make a duplicate immutable that is in the transient state
      dup = copy.copy(imm)
      if _imm_is_init(imm):
          # this is an initial-state immutable...
          _imm_init_to_trans(dup)
      elif _imm_is_persist(imm):
          # it's persistent; re-transient-ize this new one
          dd = object.__getattribute__(dup, '__dict__')
          dd['_pimms_immutable_is_trans'] = True
      return dup
docs: imm_transient(imm) yields a duplicate of the given immutable imm that is transient.