code: public Parser<List<Token>> lexer(Parser<?> tokenizer, Parser<?> delim) {
      Parser<?> lf = Scanners.isChar('\n').retn(Punctuation.LF);
      return Parsers.or(tokenizer, lf).lexer(delim)
          .map(tokens -> analyzeIndentations(tokens, Punctuation.LF));
    }
docs: A {@link Parser} that greedily runs {@code tokenizer}, and translates line feed characters
  ({@code '\n'}) to {@code indent} and {@code outdent} tokens.
  Return values are wrapped in {@link Token} objects and collected in a {@link List}.
  Patterns recognized by {@code delim} are ignored.