public function foldLeft(callable $function, $initial = null)
    {
        if ($this->isEmpty()) {
            return $initial;
        }

        return array_reduce($this->data, $function, $initial);
    }