protected function isCompound(): bool
    {
        if ($this->innerType instanceof CompoundColumnType) {
            return true;
        }

        for ($type = $this->parent; null !== $type; $type = $type->getParent()) {
            if ($type->getInnerType() instanceof CompoundColumnType) {
                return true;
            }
        }

        return false;
    }