         while loc < input.count {
             let c = input[loc]
             switch c {
-            case Literal.zero
-            ,    Literal.one
-            ,    Literal.two
-            ,    Literal.three
-            ,    Literal.four
-            ,    Literal.five
-            ,    Literal.six
-            ,    Literal.seven
-            ,    Literal.eight
-            ,    Literal.nine:
+            case Literal.zero...Literal.nine:
                 value = 10 * value + Double(c - Literal.zero)
                 ++loc
 

        }

        switch input[loc] {
        case Literal.zero
        ,    Literal.one
        ,    Literal.two
        ,    Literal.three
        ,    Literal.four
        ,    Literal.five
        ,    Literal.six
        ,    Literal.seven
        ,    Literal.eight
        ,    Literal.nine:
            return decodeNumberExponentDigits(start, sign: sign, value: value, expSign: .Positive)

        case Literal.PLUS:

        }

        switch input[loc] {
        case Literal.zero...Literal.nine:
            return decodeNumberPostDecimalDigits(start, sign: sign, value: value)

        default:
