code: func (tag *Tag) iterateOverAllFrames(f func(id string, frame Framer) error) error {
  	for id, frame := range tag.frames {
  		if err := f(id, frame); err != nil {
  			return err
  		}
  	}
  	for id, sequence := range tag.sequences {
  		for _, frame := range sequence.Frames() {
  			if err := f(id, frame); err != nil {
  				return err
  			}
  		}
  	}
  	return nil
  }
docs: // iterateOverAllFrames iterates over every single frame in tag and calls
  // f for them. It consumps no memory at all, unlike the tag.AllFrames().
  // It returns error only if f returns error.