public static function alphaDepthScoreSort(Section $a, Section $b)
    {
        $aNumeric = self::isReferenceNumeric($a->getReference());
        $bNumeric = self::isReferenceNumeric($b->getReference());

        if ($aNumeric && $bNumeric) {
            return self::depthScoreSort($a, $b);
        } elseif ($aNumeric) {
            return -1;
        } elseif ($bNumeric) {
            return 1;
        } else {
            return strnatcmp(
                $a->getReferenceDotDelimited(),
                $b->getReferenceDotDelimited()
            );
        }
    }