                 {
                 case .NestedParse(_) :
                     break
+                case .TerminalLex(_) :
+                    break
+                case .Computation(_) :
+                    break
                 default :
                     newRule = .NestedParse([newRule])
                 }

        rule(name, parses: .RulePromise(symbol))
    }

    /// Parses the defined grammar starting with the given rule.
    func start (rule: Rule, _ lexer: Lexer)
    -> Result

    return .Computation([{ _ in value }])
}

/// `rule` &> `rule`
/// Attempts to parse the conjunction of LHS and RHS sequentially.
@infix func &> (lhsRule: Parser.Rule, rhsRule: Parser.Rule)
