stricter interface for s-expr lexer