           if c >= aa[0] and c <= aa[1]
             true
           else
-            if aa[1] < c
+            if c > aa[1]
               @withinSet set, index + 1, c
             else
               false

          acc += '\n'
          # if the child ast is a char
          if (typeof a) is 'string'
            for i in [0...indent]
              acc += '    '
            if indent > 0
              acc += '|   '
            acc += a
          else
            toStringIter a
        return acc
      return toStringIter this



    # Takes a set, an index into the set and an ordinal
    withinSet: (set, index, c) ->
      if index == set.length
        false
      else
        aa = set[0]
        if typeof aa == 'string'
          if (aa.charCodeAt 0) == c
            true
          else
            if (aa.charCodeAt 0) < c
              @withinSet set, index + 1, c
            else
              false
