|object $value * @param TRetrievableValue|null $default * @return TRetrievableValue|null */ private function retrieve(string $key, mixed $value, mixed $default = null): mixed { if (is_array($value)) { return $value[$key] ?? $default; } // @phpstan-ignore-next-line return $value->$key ?? $default; } }