public function getMarked(string $marker): array
    {
        if (!\is_subclass_of($marker, Marker::class)) {
            throw new \InvalidArgumentException(\sprintf('Marker implementation %s must extend %s', $marker, Marker::class));
        }
        
        if (!isset($this->marked[$marker])) {
            $this->cacheMarkers($marker);
        }
        
        return \array_map(function (array $marked) {
            return $this->shared[$marked[0]->typeName] ?? $this->get($marked[0]->typeName);
        }, $this->marked[$marker]);
    }