@Test
public void testSourceLocation_nested() {

  Parser<SourceLocation> parser = Parsers.ANY_TOKEN.many().next(Parsers.SOURCE_LOCATION)
      .from(Scanners.IDENTIFIER.token().lexer(Scanners.WHITESPACES));
  SourceLocation location = parser.parse("ab\ncd\nef\ngh");
  assertEquals(4, location.getLine());
  assertEquals(3, location.getColumn());
  // Idempotent
  assertEquals(4, location.getLine());
  assertEquals(3, location.getColumn());
}