         case .Disjunction(let body) :
             let stkptr = _stkptr
             let mark = lexer.tell()
-            let count = body.count
-            for index in 0..count
+            for index in 0..body.count
             {
                 let result = execute(body[index], lexer)
                 if result { return result }


operator prefix  =< {}                                    // Transparent
operator prefix  =! {}                                    // Transparent
operator infix   &> { associativity left precedence 30 }  // Conjunction
operator infix   <! { associativity left precedence 30 }  // Termination & Computation
operator infix   |> { associativity left precedence 20 }  // Disjunction
operator postfix <! {}                                    // Termination

            return .Disjunction([])     // Constant Failure.

        case .Conjunction(let body) :
            for index in 0..body.count
            {
                body[index] = compile(body[index], ntNames)
            }
            return rule

        case .Disjunction(let body) :
            for index in 0..body.count
            {
                body[index] = compile(body[index], ntNames)
            }
