# File lib/linguistics/en.rb, line 1381
    def quantify( phrase, number=0, args={} )
        num = number.to_i
        config = QuantifyDefaults.merge( args )

        case num
        when 0
            no( phrase )
        when 1
            a( phrase )
        when SeveralRange
            "several " + plural( phrase, num )
        when NumberRange
            "a number of " + plural( phrase, num )
        when NumerousRange
            "numerous " + plural( phrase, num )
        when ManyRange
            "many " + plural( phrase, num )
        else

            # Anything bigger than the ManyRange gets described like
            # "hundreds of thousands of..." or "millions of..."
            # depending, of course, on how many there are.
            thousands, subthousands = Math::log10( num ).to_i.divmod( 3 )
            stword =
                case subthousands
                when 2
                    "hundreds"
                when 1
                    "tens"
                else
                    nil
                end
            thword = plural( to_thousands(thousands).strip )
            thword = nil if thword.empty?

            [    # Hundreds (of)...
                stword,

                # thousands (of)
                thword,

                # stars.
                plural(phrase, number)
            ].compact.join( config[:joinword] )
        end
    end