existingUsers, function (User $user) use ($id) { return $user->getId() === $id; } ); if ($user === null) { return null; } return new User( id: $user->getId(), email: $user->getEmail(), ); } public function create(CreateUserDto $dto): User { $id = $this->nextId(); $user = new User( id: $id, email: $dto->email, ); $this->existingUsers[$id] = $user; return $user; } private function nextId(): int { return count($this->existingUsers); } }