public function pipe($callback, ...$arguments)
    {
        if (! is_callable($callback)) {
            return new PipeProxy($this, $callback);
        }

        // Call the piped method
        $this->value = $callback(...$this->addValueToArguments($arguments));

        // Allow method chaining
        return $this;
    }