push(...$collection); } /** * Pushes an element onto the stack * * @param mixed ...$elements * * @return $this */ public function push(mixed ...$elements): self { array_push($this->array, ...$elements); return $this; } /** * Returns the element at the head or null if the stack is empty but doesn't remove that element * * @return mixed */ public function peek(): mixed { if ($this->size() > 0) { return $this->array[$this->size() - 1]; } return null; } }