   /**
    Grab an `amount` of equi-distant colors from a color scale.
    
-   -parameters amount: An amount of colors to return. 2 by default.
+   - parameter amount: An amount of colors to return. 2 by default.
+   - returns: An array of DynamicColor objects with equi-distant space in the gradient.
    */
   public func colors(amount: UInt = 2) -> [DynamicColor] {
     guard amount > 0 && self.count > 0 else {

    var color: DynamicColor = .black

    for (index, position) in positions.enumerated() {
      if clippedScale <= position {
        guard clippedScale != 0 && clippedScale != 1 else {
          return self[index]
        }

        let previousPosition = positions[index - 1]
        let weight           = (clippedScale - previousPosition) / (position - previousPosition)

        color = self[index - 1].mixed(color: self[index], weight: weight)
        
        break
      }
    }
    
    return color

      return (0 ..< amount).map { _ in self[0] }
    }

    let increment = 1 / CGFloat(amount - 1)

    return (0 ..< amount).map { colorAt(scale: CGFloat($0) * increment) }
  }

  /**
