 		assertEqual((literal("x") | literal("y"))("xy")?.0, "x")
 	}
 
+
+	// MARK: Repetition
 
 	let zeroOrMore = literal("x")*
 

	}


	let alternation = literal("x") | (literal("y") --> const(1))

	func testAlternationParsesEitherAlternative() {

	}


	// MARK: - Assertions

	func assertEqual<T: Equatable>(expression1: @autoclosure () -> T?, _ expression2: @autoclosure () -> T?, _ message: String = "", _ file: String = __FILE__, _ line: UInt = __LINE__) {
		let (actual, expected) = (expression1(), expression2())
