code: func (opts *DecodeOpts) forcedOrientation() (angle int, flipMode FlipDirection, err error) {
  	var (
  		ok bool
  	)
  	if opts.forcedRotate() {
  		if angle, ok = opts.Rotate.(int); !ok {
  			return 0, 0, fmt.Errorf("Rotate should be an int, not a %T", opts.Rotate)
  		}
  	}
  	if opts.forcedFlip() {
  		if flipMode, ok = opts.Flip.(FlipDirection); !ok {
  			return 0, 0, fmt.Errorf("Flip should be a FlipDirection, not a %T", opts.Flip)
  		}
  	}
  	return angle, flipMode, nil
  }
docs: // forcedOrientation returns the rotation and flip values stored in opts.  The
  // values are asserted to their proper type, and err is non-nil if an invalid
  // value is found.  This function ignores the orientation stored in EXIF.
  // If auto-correction of the image's orientation is desired, it is the
  // caller's responsibility to check via useEXIF first.