public function getChildKeys(): array
    {
        $snapshot = $this->shallow()->getSnapshot();

        if (\is_array($value = $snapshot->getValue())) {
            return array_keys($value);
        }

        throw new OutOfRangeException(sprintf('%s has no children with keys', $this));
    }