/Users/antoine/Documents/tlang/src/tlang.lalrpop:7:13: 7:27: Conflict detected
when in this state:
(<Expr> "\n")+ = (*) (<Expr> "\n")+ Expr "\n" ["\n", "else", "for", "if", "in", "{", "}", r#"'(\\\\.|[^\"])*'"#, r#"[0-9]+"#, r#"[a-zA-Z_][a-zA-Z0-9_]*"#, EOF]
(<Expr> "\n")+ = (*) Expr "\n" ["\n", "else", "for", "if", "in", "{", "}", r#"'(\\\\.|[^\"])*'"#, r#"[0-9]+"#, r#"[a-zA-Z_][a-zA-Z0-9_]*"#, EOF]
Block = (*) "{" Exprs "}" ["\n", "else", "for", "if", "in", "{", "}", r#"'(\\\\.|[^\"])*'"#, r#"[0-9]+"#, r#"[a-zA-Z_][a-zA-Z0-9_]*"#, EOF]
Expr = (*) Block ["\n", "else", "for", "if", "in", "{", "}", r#"'(\\\\.|[^\"])*'"#, r#"[0-9]+"#, r#"[a-zA-Z_][a-zA-Z0-9_]*"#, EOF]
Expr = (*) ForExpr ["\n", "else", "for", "if", "in", "{", "}", r#"'(\\\\.|[^\"])*'"#, r#"[0-9]+"#, r#"[a-zA-Z_][a-zA-Z0-9_]*"#, EOF]
Expr = (*) Ident ["\n", "else", "for", "if", "in", "{", "}", r#"'(\\\\.|[^\"])*'"#, r#"[0-9]+"#, r#"[a-zA-Z_][a-zA-Z0-9_]*"#, EOF]
Expr = (*) IfElseExpr ["\n", "else", "for", "if", "in", "{", "}", r#"'(\\\\.|[^\"])*'"#, r#"[0-9]+"#, r#"[a-zA-Z_][a-zA-Z0-9_]*"#, EOF]
Expr = (*) IfExpr ["\n", "else", "for", "if", "in", "{", "}", r#"'(\\\\.|[^\"])*'"#, r#"[0-9]+"#, r#"[a-zA-Z_][a-zA-Z0-9_]*"#, EOF]
Expr = (*) Value ["\n", "else", "for", "if", "in", "{", "}", r#"'(\\\\.|[^\"])*'"#, r#"[0-9]+"#, r#"[a-zA-Z_][a-zA-Z0-9_]*"#, EOF]
Expr+ = (*) Expr ["\n", "else", "for", "if", "in", "{", "}", r#"'(\\\\.|[^\"])*'"#, r#"[0-9]+"#, r#"[a-zA-Z_][a-zA-Z0-9_]*"#, EOF]
Expr+ = (*) Expr+ Expr ["\n", "else", "for", "if", "in", "{", "}", r#"'(\\\\.|[^\"])*'"#, r#"[0-9]+"#, r#"[a-zA-Z_][a-zA-Z0-9_]*"#, EOF]
Exprs = (*) MultiLine<Expr> ["\n", "else", "for", "if", "in", "{", "}", r#"'(\\\\.|[^\"])*'"#, r#"[0-9]+"#, r#"[a-zA-Z_][a-zA-Z0-9_]*"#, EOF]
ForExpr = (*) "for" Expr "in" Expr "{" Exprs "}" ["\n", "else", "for", "if", "in", "{", "}", r#"'(\\\\.|[^\"])*'"#, r#"[0-9]+"#, r#"[a-zA-Z_][a-zA-Z0-9_]*"#, EOF]
ForExpr = "for" Expr "in" Expr "{" (*) Exprs "}" ["\n", "else", "for", "if", "in", "{", "}", r#"'(\\\\.|[^\"])*'"#, r#"[0-9]+"#, r#"[a-zA-Z_][a-zA-Z0-9_]*"#, EOF]
Ident = (*) r#"[a-zA-Z_][a-zA-Z0-9_]*"# ["\n", "else", "for", "if", "in", "{", "}", r#"'(\\\\.|[^\"])*'"#, r#"[0-9]+"#, r#"[a-zA-Z_][a-zA-Z0-9_]*"#, EOF]
IfElseExpr = (*) IfExpr "else" Block ["\n", "else", "for", "if", "in", "{", "}", r#"'(\\\\.|[^\"])*'"#, r#"[0-9]+"#, r#"[a-zA-Z_][a-zA-Z0-9_]*"#, EOF]
IfExpr = (*) "if" Expr "{" Exprs "}" ["\n", "else", "for", "if", "in", "{", "}", r#"'(\\\\.|[^\"])*'"#, r#"[0-9]+"#, r#"[a-zA-Z_][a-zA-Z0-9_]*"#, EOF]
MultiLine<Expr> = (*) ["\n", "else", "for", "if", "in", "{", "}", r#"'(\\\\.|[^\"])*'"#, r#"[0-9]+"#, r#"[a-zA-Z_][a-zA-Z0-9_]*"#, EOF]
MultiLine<Expr> = (*) (<Expr> "\n")+ ["\n", "else", "for", "if", "in", "{", "}", r#"'(\\\\.|[^\"])*'"#, r#"[0-9]+"#, r#"[a-zA-Z_][a-zA-Z0-9_]*"#, EOF]
MultiLine<Expr> = (*) (<Expr> "\n")+ Expr+ ["\n", "else", "for", "if", "in", "{", "}", r#"'(\\\\.|[^\"])*'"#, r#"[0-9]+"#, r#"[a-zA-Z_][a-zA-Z0-9_]*"#, EOF]
MultiLine<Expr> = (*) Expr+ ["\n", "else", "for", "if", "in", "{", "}", r#"'(\\\\.|[^\"])*'"#, r#"[0-9]+"#, r#"[a-zA-Z_][a-zA-Z0-9_]*"#, EOF]
Num = (*) r#"[0-9]+"# ["\n", "else", "for", "if", "in", "{", "}", r#"'(\\\\.|[^\"])*'"#, r#"[0-9]+"#, r#"[a-zA-Z_][a-zA-Z0-9_]*"#, EOF]
Str = (*) r#"'(\\\\.|[^\"])*'"# ["\n", "else", "for", "if", "in", "{", "}", r#"'(\\\\.|[^\"])*'"#, r#"[0-9]+"#, r#"[a-zA-Z_][a-zA-Z0-9_]*"#, EOF]
Value = (*) Ident ["\n", "else", "for", "if", "in", "{", "}", r#"'(\\\\.|[^\"])*'"#, r#"[0-9]+"#, r#"[a-zA-Z_][a-zA-Z0-9_]*"#, EOF]
Value = (*) Num ["\n", "else", "for", "if", "in", "{", "}", r#"'(\\\\.|[^\"])*'"#, r#"[0-9]+"#, r#"[a-zA-Z_][a-zA-Z0-9_]*"#, EOF]
Value = (*) Str ["\n", "else", "for", "if", "in", "{", "}", r#"'(\\\\.|[^\"])*'"#, r#"[0-9]+"#, r#"[a-zA-Z_][a-zA-Z0-9_]*"#, EOF]
and looking at a token `r#"[a-zA-Z_][a-zA-Z0-9_]*"#` we can reduce to a `MultiLine<Expr>` but we can also shift