*/ function collection($input = null) { // init $newCollection = new CollectionStringy(); if ($input === null) { return $newCollection; } /** * @psalm-suppress DocblockTypeContradiction */ if (!\is_array($input)) { $input = [$input]; } foreach ($input as &$stringOrStringy) { if (\is_string($stringOrStringy)) { $stringOrStringy = new Stringy($stringOrStringy); } assert($stringOrStringy instanceof Stringy); /** @phpstan-ignore-next-line - FP? */ $newCollection[] = $stringOrStringy; } return $newCollection; } }