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