code: def ColorWithSaturation(self, saturation):
      '''Create a new instance based on this one with a new saturation value.
  
      .. note::
  
         The saturation is defined for the HSL mode.
  
      Parameters:
        :saturation:
          The saturation of the new color [0...1].
  
      Returns:
        A grapefruit.Color instance.
  
      >>> Color.NewFromHsl(30, 1, 0.5).ColorWithSaturation(0.5)
      (0.75, 0.5, 0.25, 1.0)
      >>> Color.NewFromHsl(30, 1, 0.5).ColorWithSaturation(0.5).hsl
      (30, 0.5, 0.5)
  
      '''
      h, s, l = self.__hsl
      return Color((h, saturation, l), 'hsl', self.__a, self.__wreff ColorWithSaturation(self, saturation):
      '''Create a new instance based on this one with a new saturation value.
  
      .. note::
  
         The saturation is defined for the HSL mode.
  
      Parameters:
        :saturation:
          The saturation of the new color [0...1].
  
      Returns:
        A grapefruit.Color instance.
  
      >>> Color.NewFromHsl(30, 1, 0.5).ColorWithSaturation(0.5)
      (0.75, 0.5, 0.25, 1.0)
      >>> Color.NewFromHsl(30, 1, 0.5).ColorWithSaturation(0.5).hsl
      (30, 0.5, 0.5)
  
      '''
      h, s, l = self.__hsl
      return Color((h, saturation, l), 'hsl', self.__a, self.__wref)
docs: Create a new instance based on this one with a new saturation value.
  
      .. note::
  
         The saturation is defined for the HSL mode.
  
      Parameters:
        :saturation:
          The saturation of the new color [0...1].
  
      Returns:
        A grapefruit.Color instance.
  
      >>> Color.NewFromHsl(30, 1, 0.5).ColorWithSaturation(0.5)
      (0.75, 0.5, 0.25, 1.0)
      >>> Color.NewFromHsl(30, 1, 0.5).ColorWithSaturation(0.5).hsl
      (30, 0.5, 0.5)