public static function each(array $set, Closure $callback, $recursive = true) {
        foreach ($set as $key => $value) {
            if (is_array($value) && $recursive) {
                $set[$key] = static::each($value, $callback, $recursive);
            } else {
                $set[$key] = $callback($value, $key);
            }
        }

        return $set;
    }