code: def reflect_well(value, bounds):
      
      while value not in bounds:
          value = bounds._max.reflect_left(value)
          value = bounds._min.reflect_right(value)
      return value
docs: Given some boundaries, reflects the value until it falls within both
      boundaries. This is done iteratively, reflecting left off of the
      `boundaries.max`, then right off of the `boundaries.min`, etc.
  
      Parameters
      ----------
      value : float
          The value to apply the reflected boundaries to.
      bounds : Bounds instance
          Boundaries to reflect between. Both `bounds.min` and `bounds.max` must
          be instances of `ReflectedBound`, otherwise an AttributeError is
          raised.
  
      Returns
      -------
      float
          The value after being reflected between the two bounds.