{"Node":{"nonterminal":1,"attributes":{"decls":{"Node":{"nonterminal":36,"attributes":{"value":{"Node":{"nonterminal":38,"attributes":{"value":{"Node":{"nonterminal":37,"attributes":{"tail":{"Node":{"nonterminal":37,"attributes":{"tail":{"Node":{"nonterminal":37,"attributes":{"head":{"Node":{"nonterminal":2,"attributes":{"decl":{"Node":{"nonterminal":5,"attributes":{"name":{"Literal":{"value":{"Str":"List"},"span":{"file":"src/parser/parser.gr","start":[8,0],"end":[8,3],"start_byte":187,"end_byte":190}}},"rules":{"Node":{"nonterminal":31,"attributes":{"value":{"Node":{"nonterminal":33,"attributes":{"value":{"Node":{"nonterminal":32,"attributes":{"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}},"head":{"Node":{"nonterminal":6,"attributes":{"proxy":{"Node":{"nonterminal":8,"attributes":{"through":{"Node":{"nonterminal":16,"attributes":{"value":{"Node":{"nonterminal":18,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[9,51],"end":[9,51],"start_byte":268,"end_byte":268}}}},"span":{"file":"src/parser/parser.gr","start":[9,51],"end":[9,51],"start_byte":268,"end_byte":268}}}},"span":{"file":"src/parser/parser.gr","start":[9,50],"end":[9,51],"start_byte":267,"end_byte":268}}},"elements":{"Node":{"nonterminal":25,"attributes":{"value":{"Node":{"nonterminal":27,"attributes":{"value":{"Node":{"nonterminal":26,"attributes":{"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}},"head":{"Node":{"nonterminal":11,"attributes":{"key":{"Node":{"nonterminal":23,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":13,"attributes":{"key":{"Literal":{"value":{"Str":"value"},"span":{"file":"src/parser/parser.gr","start":[9,44],"end":[9,48],"start_byte":261,"end_byte":265}}}},"span":{"file":"src/parser/parser.gr","start":[9,43],"end":[9,48],"start_byte":260,"end_byte":265}}}},"span":{"file":"src/parser/parser.gr","start":[9,43],"end":[9,48],"start_byte":260,"end_byte":265}}},"item":{"Node":{"nonterminal":14,"attributes":{"name":{"Literal":{"value":{"Str":"Option"},"span":{"file":"src/parser/parser.gr","start":[9,2],"end":[9,7],"start_byte":219,"end_byte":224}}},"args":{"Node":{"nonterminal":19,"attributes":{"value":{"Node":{"nonterminal":21,"attributes":{"value":{"Node":{"nonterminal":20,"attributes":{"head":{"Node":{"nonterminal":14,"attributes":{"variant":{"Literal":{"value":{"Str":"MacroInvocation"},"span":null}},"name":{"Literal":{"value":{"Str":"NonEmptyList"},"span":{"file":"src/parser/parser.gr","start":[9,9],"end":[9,20],"start_byte":226,"end_byte":237}}},"args":{"Node":{"nonterminal":19,"attributes":{"value":{"Node":{"nonterminal":21,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":20,"attributes":{"tail":{"Node":{"nonterminal":20,"attributes":{"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}},"head":{"Node":{"nonterminal":14,"attributes":{"variant":{"Literal":{"value":{"Str":"Regular"},"span":null}},"name":{"Literal":{"value":{"Str":"separation"},"span":{"file":"src/parser/parser.gr","start":[9,31],"end":[9,40],"start_byte":248,"end_byte":257}}}},"span":{"file":"src/parser/parser.gr","start":[9,31],"end":[9,40],"start_byte":248,"end_byte":257}}}},"span":{"file":"src/parser/parser.gr","start":[9,31],"end":[9,40],"start_byte":248,"end_byte":257}}},"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}},"head":{"Node":{"nonterminal":14,"attributes":{"variant":{"Literal":{"value":{"Str":"Regular"},"span":null}},"name":{"Literal":{"value":{"Str":"content"},"span":{"file":"src/parser/parser.gr","start":[9,22],"end":[9,28],"start_byte":239,"end_byte":245}}}},"span":{"file":"src/parser/parser.gr","start":[9,22],"end":[9,28],"start_byte":239,"end_byte":245}}}},"span":{"file":"src/parser/parser.gr","start":[9,22],"end":[9,40],"start_byte":239,"end_byte":257}}}},"span":{"file":"src/parser/parser.gr","start":[9,22],"end":[9,40],"start_byte":239,"end_byte":257}}}},"span":{"file":"src/parser/parser.gr","start":[9,22],"end":[9,40],"start_byte":239,"end_byte":257}}}},"span":{"file":"src/parser/parser.gr","start":[9,9],"end":[9,41],"start_byte":226,"end_byte":258}}},"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[9,9],"end":[9,41],"start_byte":226,"end_byte":258}}},"variant":{"Literal":{"value":{"Str":"Some"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[9,9],"end":[9,41],"start_byte":226,"end_byte":258}}}},"span":{"file":"src/parser/parser.gr","start":[9,9],"end":[9,41],"start_byte":226,"end_byte":258}}},"variant":{"Literal":{"value":{"Str":"MacroInvocation"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[9,2],"end":[9,42],"start_byte":219,"end_byte":259}}},"attribute":{"Node":{"nonterminal":22,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[9,43],"end":[9,43],"start_byte":260,"end_byte":260}}}},"span":{"file":"src/parser/parser.gr","start":[9,2],"end":[9,48],"start_byte":219,"end_byte":265}}}},"span":{"file":"src/parser/parser.gr","start":[9,2],"end":[9,48],"start_byte":219,"end_byte":265}}},"variant":{"Literal":{"value":{"Str":"Some"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[9,2],"end":[9,48],"start_byte":219,"end_byte":265}}}},"span":{"file":"src/parser/parser.gr","start":[9,2],"end":[9,48],"start_byte":219,"end_byte":265}}},"assoc":{"Node":{"nonterminal":24,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[9,2],"end":[9,7],"start_byte":219,"end_byte":224}}}},"span":{"file":"src/parser/parser.gr","start":[9,2],"end":[9,51],"start_byte":219,"end_byte":268}}}},"span":{"file":"src/parser/parser.gr","start":[9,2],"end":[9,51],"start_byte":219,"end_byte":268}}},"variant":{"Literal":{"value":{"Str":"Some"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[9,2],"end":[9,51],"start_byte":219,"end_byte":268}}}},"span":{"file":"src/parser/parser.gr","start":[9,2],"end":[9,51],"start_byte":219,"end_byte":268}}},"args":{"Node":{"nonterminal":28,"attributes":{"value":{"Node":{"nonterminal":30,"attributes":{"value":{"Node":{"nonterminal":29,"attributes":{"tail":{"Node":{"nonterminal":29,"attributes":{"head":{"Node":{"nonterminal":10,"attributes":{"name":{"Literal":{"value":{"Str":"separation"},"span":{"file":"src/parser/parser.gr","start":[8,14],"end":[8,23],"start_byte":201,"end_byte":210}}}},"span":{"file":"src/parser/parser.gr","start":[8,14],"end":[8,23],"start_byte":201,"end_byte":210}}},"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[8,14],"end":[8,23],"start_byte":201,"end_byte":210}}},"head":{"Node":{"nonterminal":10,"attributes":{"name":{"Literal":{"value":{"Str":"content"},"span":{"file":"src/parser/parser.gr","start":[8,5],"end":[8,11],"start_byte":192,"end_byte":198}}}},"span":{"file":"src/parser/parser.gr","start":[8,5],"end":[8,11],"start_byte":192,"end_byte":198}}},"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[8,5],"end":[8,23],"start_byte":192,"end_byte":210}}},"variant":{"Literal":{"value":{"Str":"Some"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[8,5],"end":[8,23],"start_byte":192,"end_byte":210}}}},"span":{"file":"src/parser/parser.gr","start":[8,5],"end":[8,23],"start_byte":192,"end_byte":210}}}},"span":{"file":"src/parser/parser.gr","start":[8,0],"end":[9,52],"start_byte":187,"end_byte":269}}},"variant":{"Literal":{"value":{"Str":"Macro"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[8,0],"end":[9,52],"start_byte":187,"end_byte":269}}},"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}},"tail":{"Node":{"nonterminal":37,"attributes":{"tail":{"Node":{"nonterminal":37,"attributes":{"head":{"Node":{"nonterminal":2,"attributes":{"decl":{"Node":{"nonterminal":3,"attributes":{"axiom":{"Node":{"nonterminal":35,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Terminal":{"name":"AT","id":5,"attributes":{},"location":{"file":"src/parser/parser.gr","start":[15,0],"end":[15,0],"start_byte":298,"end_byte":298}}}},"span":{"file":"src/parser/parser.gr","start":[15,0],"end":[15,0],"start_byte":298,"end_byte":298}}},"comment":{"Node":{"nonterminal":34,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":4,"attributes":{"through":{"Literal":{"value":{"Str":"a file"},"span":{"file":"src/parser/parser.gr","start":[14,0],"end":[14,7],"start_byte":289,"end_byte":296}}}},"span":{"file":"src/parser/parser.gr","start":[14,0],"end":[14,7],"start_byte":289,"end_byte":296}}}},"span":{"file":"src/parser/parser.gr","start":[14,0],"end":[14,7],"start_byte":289,"end_byte":296}}},"name":{"Literal":{"value":{"Str":"File"},"span":{"file":"src/parser/parser.gr","start":[15,1],"end":[15,4],"start_byte":299,"end_byte":302}}},"rules":{"Node":{"nonterminal":31,"attributes":{"value":{"Node":{"nonterminal":33,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":32,"attributes":{"head":{"Node":{"nonterminal":6,"attributes":{"elements":{"Node":{"nonterminal":25,"attributes":{"value":{"Node":{"nonterminal":27,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":26,"attributes":{"head":{"Node":{"nonterminal":11,"attributes":{"key":{"Node":{"nonterminal":23,"attributes":{"value":{"Node":{"nonterminal":13,"attributes":{"key":{"Literal":{"value":{"Str":"decls"},"span":{"file":"src/parser/parser.gr","start":[16,35],"end":[16,39],"start_byte":343,"end_byte":347}}}},"span":{"file":"src/parser/parser.gr","start":[16,34],"end":[16,39],"start_byte":342,"end_byte":347}}},"variant":{"Literal":{"value":{"Str":"Some"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[16,34],"end":[16,39],"start_byte":342,"end_byte":347}}},"attribute":{"Node":{"nonterminal":22,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[16,34],"end":[16,34],"start_byte":342,"end_byte":342}}},"item":{"Node":{"nonterminal":14,"attributes":{"args":{"Node":{"nonterminal":19,"attributes":{"value":{"Node":{"nonterminal":21,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":20,"attributes":{"head":{"Node":{"nonterminal":14,"attributes":{"variant":{"Literal":{"value":{"Str":"Regular"},"span":null}},"name":{"Literal":{"value":{"Str":"ToplevelDeclaration"},"span":{"file":"src/parser/parser.gr","start":[16,7],"end":[16,25],"start_byte":315,"end_byte":333}}}},"span":{"file":"src/parser/parser.gr","start":[16,7],"end":[16,25],"start_byte":315,"end_byte":333}}},"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}},"tail":{"Node":{"nonterminal":20,"attributes":{"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}},"head":{"Node":{"nonterminal":14,"attributes":{"name":{"Literal":{"value":{"Str":"Empty"},"span":{"file":"src/parser/parser.gr","start":[16,28],"end":[16,32],"start_byte":336,"end_byte":340}}},"variant":{"Literal":{"value":{"Str":"Regular"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[16,28],"end":[16,32],"start_byte":336,"end_byte":340}}}},"span":{"file":"src/parser/parser.gr","start":[16,28],"end":[16,32],"start_byte":336,"end_byte":340}}}},"span":{"file":"src/parser/parser.gr","start":[16,7],"end":[16,32],"start_byte":315,"end_byte":340}}}},"span":{"file":"src/parser/parser.gr","start":[16,7],"end":[16,32],"start_byte":315,"end_byte":340}}}},"span":{"file":"src/parser/parser.gr","start":[16,7],"end":[16,32],"start_byte":315,"end_byte":340}}},"variant":{"Literal":{"value":{"Str":"MacroInvocation"},"span":null}},"name":{"Literal":{"value":{"Str":"List"},"span":{"file":"src/parser/parser.gr","start":[16,2],"end":[16,5],"start_byte":310,"end_byte":313}}}},"span":{"file":"src/parser/parser.gr","start":[16,2],"end":[16,33],"start_byte":310,"end_byte":341}}}},"span":{"file":"src/parser/parser.gr","start":[16,2],"end":[16,39],"start_byte":310,"end_byte":347}}},"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[16,2],"end":[16,39],"start_byte":310,"end_byte":347}}}},"span":{"file":"src/parser/parser.gr","start":[16,2],"end":[16,39],"start_byte":310,"end_byte":347}}}},"span":{"file":"src/parser/parser.gr","start":[16,2],"end":[16,39],"start_byte":310,"end_byte":347}}},"proxy":{"Node":{"nonterminal":8,"attributes":{"through":{"Node":{"nonterminal":16,"attributes":{"value":{"Node":{"nonterminal":18,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[16,42],"end":[16,42],"start_byte":350,"end_byte":350}}}},"span":{"file":"src/parser/parser.gr","start":[16,42],"end":[16,42],"start_byte":350,"end_byte":350}}}},"span":{"file":"src/parser/parser.gr","start":[16,41],"end":[16,42],"start_byte":349,"end_byte":350}}},"assoc":{"Node":{"nonterminal":24,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[16,2],"end":[16,5],"start_byte":310,"end_byte":313}}}},"span":{"file":"src/parser/parser.gr","start":[16,2],"end":[16,42],"start_byte":310,"end_byte":350}}},"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[16,2],"end":[16,42],"start_byte":310,"end_byte":350}}}},"span":{"file":"src/parser/parser.gr","start":[16,2],"end":[16,42],"start_byte":310,"end_byte":350}}}},"span":{"file":"src/parser/parser.gr","start":[16,2],"end":[16,42],"start_byte":310,"end_byte":350}}}},"span":{"file":"src/parser/parser.gr","start":[14,0],"end":[16,43],"start_byte":289,"end_byte":351}}},"variant":{"Literal":{"value":{"Str":"Decl"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[14,0],"end":[16,43],"start_byte":289,"end_byte":351}}},"tail":{"Node":{"nonterminal":37,"attributes":{"tail":{"Node":{"nonterminal":37,"attributes":{"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}},"tail":{"Node":{"nonterminal":37,"attributes":{"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}},"head":{"Node":{"nonterminal":2,"attributes":{"variant":{"Literal":{"value":{"Str":"Decl"},"span":null}},"decl":{"Node":{"nonterminal":3,"attributes":{"rules":{"Node":{"nonterminal":31,"attributes":{"value":{"Node":{"nonterminal":33,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":32,"attributes":{"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}},"head":{"Node":{"nonterminal":6,"attributes":{"proxy":{"Node":{"nonterminal":8,"attributes":{"through":{"Node":{"nonterminal":16,"attributes":{"value":{"Node":{"nonterminal":18,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[30,20],"end":[30,20],"start_byte":621,"end_byte":621}}}},"span":{"file":"src/parser/parser.gr","start":[30,20],"end":[30,20],"start_byte":621,"end_byte":621}}}},"span":{"file":"src/parser/parser.gr","start":[30,19],"end":[30,20],"start_byte":620,"end_byte":621}}},"assoc":{"Node":{"nonterminal":24,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[30,2],"end":[30,7],"start_byte":603,"end_byte":608}}},"elements":{"Node":{"nonterminal":25,"attributes":{"value":{"Node":{"nonterminal":27,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":26,"attributes":{"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}},"head":{"Node":{"nonterminal":11,"attributes":{"attribute":{"Node":{"nonterminal":22,"attributes":{"value":{"Node":{"nonterminal":12,"attributes":{"variant":{"Literal":{"value":{"Str":"Indexed"},"span":null}},"attribute":{"Literal":{"value":{"Str":"0"},"span":{"file":"src/parser/parser.gr","start":[30,9],"end":[30,9],"start_byte":610,"end_byte":610}}}},"span":{"file":"src/parser/parser.gr","start":[30,8],"end":[30,9],"start_byte":609,"end_byte":610}}},"variant":{"Literal":{"value":{"Str":"Some"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[30,8],"end":[30,9],"start_byte":609,"end_byte":610}}},"item":{"Node":{"nonterminal":14,"attributes":{"name":{"Literal":{"value":{"Str":"STRING"},"span":{"file":"src/parser/parser.gr","start":[30,2],"end":[30,7],"start_byte":603,"end_byte":608}}},"variant":{"Literal":{"value":{"Str":"Regular"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[30,2],"end":[30,7],"start_byte":603,"end_byte":608}}},"key":{"Node":{"nonterminal":23,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":13,"attributes":{"key":{"Literal":{"value":{"Str":"through"},"span":{"file":"src/parser/parser.gr","start":[30,11],"end":[30,17],"start_byte":612,"end_byte":618}}}},"span":{"file":"src/parser/parser.gr","start":[30,10],"end":[30,17],"start_byte":611,"end_byte":618}}}},"span":{"file":"src/parser/parser.gr","start":[30,10],"end":[30,17],"start_byte":611,"end_byte":618}}}},"span":{"file":"src/parser/parser.gr","start":[30,2],"end":[30,17],"start_byte":603,"end_byte":618}}}},"span":{"file":"src/parser/parser.gr","start":[30,2],"end":[30,17],"start_byte":603,"end_byte":618}}}},"span":{"file":"src/parser/parser.gr","start":[30,2],"end":[30,17],"start_byte":603,"end_byte":618}}}},"span":{"file":"src/parser/parser.gr","start":[30,2],"end":[30,17],"start_byte":603,"end_byte":618}}}},"span":{"file":"src/parser/parser.gr","start":[30,2],"end":[30,20],"start_byte":603,"end_byte":621}}}},"span":{"file":"src/parser/parser.gr","start":[30,2],"end":[30,20],"start_byte":603,"end_byte":621}}}},"span":{"file":"src/parser/parser.gr","start":[30,2],"end":[30,20],"start_byte":603,"end_byte":621}}}},"span":{"file":"src/parser/parser.gr","start":[30,2],"end":[30,20],"start_byte":603,"end_byte":621}}},"comment":{"Node":{"nonterminal":34,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":4,"attributes":{"through":{"Literal":{"value":{"Str":"a comment"},"span":{"file":"src/parser/parser.gr","start":[28,0],"end":[28,10],"start_byte":577,"end_byte":587}}}},"span":{"file":"src/parser/parser.gr","start":[28,0],"end":[28,10],"start_byte":577,"end_byte":587}}}},"span":{"file":"src/parser/parser.gr","start":[28,0],"end":[28,10],"start_byte":577,"end_byte":587}}},"axiom":{"Node":{"nonterminal":35,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[29,0],"end":[29,6],"start_byte":589,"end_byte":595}}},"name":{"Literal":{"value":{"Str":"Comment"},"span":{"file":"src/parser/parser.gr","start":[29,0],"end":[29,6],"start_byte":589,"end_byte":595}}}},"span":{"file":"src/parser/parser.gr","start":[28,0],"end":[30,21],"start_byte":577,"end_byte":622}}}},"span":{"file":"src/parser/parser.gr","start":[28,0],"end":[30,21],"start_byte":577,"end_byte":622}}},"tail":{"Node":{"nonterminal":37,"attributes":{"tail":{"Node":{"nonterminal":37,"attributes":{"head":{"Node":{"nonterminal":2,"attributes":{"decl":{"Node":{"nonterminal":3,"attributes":{"rules":{"Node":{"nonterminal":31,"attributes":{"value":{"Node":{"nonterminal":33,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":32,"attributes":{"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}},"head":{"Node":{"nonterminal":6,"attributes":{"proxy":{"Node":{"nonterminal":8,"attributes":{"through":{"Node":{"nonterminal":16,"attributes":{"value":{"Node":{"nonterminal":18,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[39,73],"end":[39,73],"start_byte":854,"end_byte":854}}}},"span":{"file":"src/parser/parser.gr","start":[39,73],"end":[39,73],"start_byte":854,"end_byte":854}}}},"span":{"file":"src/parser/parser.gr","start":[39,72],"end":[39,73],"start_byte":853,"end_byte":854}}},"assoc":{"Node":{"nonterminal":24,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[39,2],"end":[39,7],"start_byte":783,"end_byte":788}}},"elements":{"Node":{"nonterminal":25,"attributes":{"value":{"Node":{"nonterminal":27,"attributes":{"value":{"Node":{"nonterminal":26,"attributes":{"tail":{"Node":{"nonterminal":26,"attributes":{"tail":{"Node":{"nonterminal":26,"attributes":{"head":{"Node":{"nonterminal":11,"attributes":{"attribute":{"Node":{"nonterminal":22,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[39,65],"end":[39,65],"start_byte":846,"end_byte":846}}},"item":{"Node":{"nonterminal":14,"attributes":{"variant":{"Literal":{"value":{"Str":"Regular"},"span":null}},"name":{"Literal":{"value":{"Str":"Proxy"},"span":{"file":"src/parser/parser.gr","start":[39,60],"end":[39,64],"start_byte":841,"end_byte":845}}}},"span":{"file":"src/parser/parser.gr","start":[39,60],"end":[39,64],"start_byte":841,"end_byte":845}}},"key":{"Node":{"nonterminal":23,"attributes":{"value":{"Node":{"nonterminal":13,"attributes":{"key":{"Literal":{"value":{"Str":"proxy"},"span":{"file":"src/parser/parser.gr","start":[39,66],"end":[39,70],"start_byte":847,"end_byte":851}}}},"span":{"file":"src/parser/parser.gr","start":[39,65],"end":[39,70],"start_byte":846,"end_byte":851}}},"variant":{"Literal":{"value":{"Str":"Some"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[39,65],"end":[39,70],"start_byte":846,"end_byte":851}}}},"span":{"file":"src/parser/parser.gr","start":[39,60],"end":[39,70],"start_byte":841,"end_byte":851}}},"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[39,60],"end":[39,70],"start_byte":841,"end_byte":851}}},"head":{"Node":{"nonterminal":11,"attributes":{"key":{"Node":{"nonterminal":23,"attributes":{"value":{"Node":{"nonterminal":13,"attributes":{"key":{"Literal":{"value":{"Str":"elements"},"span":{"file":"src/parser/parser.gr","start":[39,51],"end":[39,58],"start_byte":832,"end_byte":839}}}},"span":{"file":"src/parser/parser.gr","start":[39,50],"end":[39,58],"start_byte":831,"end_byte":839}}},"variant":{"Literal":{"value":{"Str":"Some"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[39,50],"end":[39,58],"start_byte":831,"end_byte":839}}},"item":{"Node":{"nonterminal":14,"attributes":{"args":{"Node":{"nonterminal":19,"attributes":{"value":{"Node":{"nonterminal":21,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":20,"attributes":{"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}},"head":{"Node":{"nonterminal":14,"attributes":{"variant":{"Literal":{"value":{"Str":"Regular"},"span":null}},"name":{"Literal":{"value":{"Str":"Element"},"span":{"file":"src/parser/parser.gr","start":[39,35],"end":[39,41],"start_byte":816,"end_byte":822}}}},"span":{"file":"src/parser/parser.gr","start":[39,35],"end":[39,41],"start_byte":816,"end_byte":822}}},"tail":{"Node":{"nonterminal":20,"attributes":{"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}},"head":{"Node":{"nonterminal":14,"attributes":{"name":{"Literal":{"value":{"Str":"Empty"},"span":{"file":"src/parser/parser.gr","start":[39,44],"end":[39,48],"start_byte":825,"end_byte":829}}},"variant":{"Literal":{"value":{"Str":"Regular"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[39,44],"end":[39,48],"start_byte":825,"end_byte":829}}}},"span":{"file":"src/parser/parser.gr","start":[39,44],"end":[39,48],"start_byte":825,"end_byte":829}}}},"span":{"file":"src/parser/parser.gr","start":[39,35],"end":[39,48],"start_byte":816,"end_byte":829}}}},"span":{"file":"src/parser/parser.gr","start":[39,35],"end":[39,48],"start_byte":816,"end_byte":829}}}},"span":{"file":"src/parser/parser.gr","start":[39,35],"end":[39,48],"start_byte":816,"end_byte":829}}},"name":{"Literal":{"value":{"Str":"List"},"span":{"file":"src/parser/parser.gr","start":[39,30],"end":[39,33],"start_byte":811,"end_byte":814}}},"variant":{"Literal":{"value":{"Str":"MacroInvocation"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[39,30],"end":[39,49],"start_byte":811,"end_byte":830}}},"attribute":{"Node":{"nonterminal":22,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[39,50],"end":[39,50],"start_byte":831,"end_byte":831}}}},"span":{"file":"src/parser/parser.gr","start":[39,30],"end":[39,58],"start_byte":811,"end_byte":839}}},"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[39,30],"end":[39,70],"start_byte":811,"end_byte":851}}},"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}},"head":{"Node":{"nonterminal":11,"attributes":{"item":{"Node":{"nonterminal":14,"attributes":{"variant":{"Literal":{"value":{"Str":"MacroInvocation"},"span":null}},"args":{"Node":{"nonterminal":19,"attributes":{"value":{"Node":{"nonterminal":21,"attributes":{"value":{"Node":{"nonterminal":20,"attributes":{"head":{"Node":{"nonterminal":14,"attributes":{"variant":{"Literal":{"value":{"Str":"Regular"},"span":null}},"name":{"Literal":{"value":{"Str":"Associativity"},"span":{"file":"src/parser/parser.gr","start":[39,9],"end":[39,21],"start_byte":790,"end_byte":802}}}},"span":{"file":"src/parser/parser.gr","start":[39,9],"end":[39,21],"start_byte":790,"end_byte":802}}},"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[39,9],"end":[39,21],"start_byte":790,"end_byte":802}}},"variant":{"Literal":{"value":{"Str":"Some"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[39,9],"end":[39,21],"start_byte":790,"end_byte":802}}}},"span":{"file":"src/parser/parser.gr","start":[39,9],"end":[39,21],"start_byte":790,"end_byte":802}}},"name":{"Literal":{"value":{"Str":"Option"},"span":{"file":"src/parser/parser.gr","start":[39,2],"end":[39,7],"start_byte":783,"end_byte":788}}}},"span":{"file":"src/parser/parser.gr","start":[39,2],"end":[39,22],"start_byte":783,"end_byte":803}}},"key":{"Node":{"nonterminal":23,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":13,"attributes":{"key":{"Literal":{"value":{"Str":"assoc"},"span":{"file":"src/parser/parser.gr","start":[39,24],"end":[39,28],"start_byte":805,"end_byte":809}}}},"span":{"file":"src/parser/parser.gr","start":[39,23],"end":[39,28],"start_byte":804,"end_byte":809}}}},"span":{"file":"src/parser/parser.gr","start":[39,23],"end":[39,28],"start_byte":804,"end_byte":809}}},"attribute":{"Node":{"nonterminal":22,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[39,23],"end":[39,23],"start_byte":804,"end_byte":804}}}},"span":{"file":"src/parser/parser.gr","start":[39,2],"end":[39,28],"start_byte":783,"end_byte":809}}}},"span":{"file":"src/parser/parser.gr","start":[39,2],"end":[39,70],"start_byte":783,"end_byte":851}}},"variant":{"Literal":{"value":{"Str":"Some"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[39,2],"end":[39,70],"start_byte":783,"end_byte":851}}}},"span":{"file":"src/parser/parser.gr","start":[39,2],"end":[39,70],"start_byte":783,"end_byte":851}}}},"span":{"file":"src/parser/parser.gr","start":[39,2],"end":[39,73],"start_byte":783,"end_byte":854}}}},"span":{"file":"src/parser/parser.gr","start":[39,2],"end":[39,73],"start_byte":783,"end_byte":854}}}},"span":{"file":"src/parser/parser.gr","start":[39,2],"end":[39,73],"start_byte":783,"end_byte":854}}}},"span":{"file":"src/parser/parser.gr","start":[39,2],"end":[39,73],"start_byte":783,"end_byte":854}}},"comment":{"Node":{"nonterminal":34,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":4,"attributes":{"through":{"Literal":{"value":{"Str":"a rule"},"span":{"file":"src/parser/parser.gr","start":[37,0],"end":[37,7],"start_byte":763,"end_byte":770}}}},"span":{"file":"src/parser/parser.gr","start":[37,0],"end":[37,7],"start_byte":763,"end_byte":770}}}},"span":{"file":"src/parser/parser.gr","start":[37,0],"end":[37,7],"start_byte":763,"end_byte":770}}},"name":{"Literal":{"value":{"Str":"Rule"},"span":{"file":"src/parser/parser.gr","start":[38,0],"end":[38,3],"start_byte":772,"end_byte":775}}},"axiom":{"Node":{"nonterminal":35,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[38,0],"end":[38,3],"start_byte":772,"end_byte":775}}}},"span":{"file":"src/parser/parser.gr","start":[37,0],"end":[39,74],"start_byte":763,"end_byte":855}}},"variant":{"Literal":{"value":{"Str":"Decl"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[37,0],"end":[39,74],"start_byte":763,"end_byte":855}}},"tail":{"Node":{"nonterminal":37,"attributes":{"head":{"Node":{"nonterminal":2,"attributes":{"decl":{"Node":{"nonterminal":3,"attributes":{"axiom":{"Node":{"nonterminal":35,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[42,0],"end":[42,12],"start_byte":887,"end_byte":899}}},"name":{"Literal":{"value":{"Str":"Associativity"},"span":{"file":"src/parser/parser.gr","start":[42,0],"end":[42,12],"start_byte":887,"end_byte":899}}},"rules":{"Node":{"nonterminal":31,"attributes":{"value":{"Node":{"nonterminal":33,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":32,"attributes":{"tail":{"Node":{"nonterminal":32,"attributes":{"head":{"Node":{"nonterminal":6,"attributes":{"assoc":{"Node":{"nonterminal":24,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[44,2],"end":[44,5],"start_byte":931,"end_byte":934}}},"proxy":{"Node":{"nonterminal":8,"attributes":{"through":{"Node":{"nonterminal":16,"attributes":{"value":{"Node":{"nonterminal":18,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":17,"attributes":{"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}},"head":{"Node":{"nonterminal":9,"attributes":{"variant":{"Literal":{"value":{"Str":"Variant"},"span":null}},"var":{"Literal":{"value":{"Str":"Right"},"span":{"file":"src/parser/parser.gr","start":[44,19],"end":[44,23],"start_byte":948,"end_byte":952}}}},"span":{"file":"src/parser/parser.gr","start":[44,19],"end":[44,23],"start_byte":948,"end_byte":952}}}},"span":{"file":"src/parser/parser.gr","start":[44,19],"end":[44,23],"start_byte":948,"end_byte":952}}}},"span":{"file":"src/parser/parser.gr","start":[44,19],"end":[44,23],"start_byte":948,"end_byte":952}}}},"span":{"file":"src/parser/parser.gr","start":[44,19],"end":[44,23],"start_byte":948,"end_byte":952}}}},"span":{"file":"src/parser/parser.gr","start":[44,18],"end":[44,24],"start_byte":947,"end_byte":953}}},"elements":{"Node":{"nonterminal":25,"attributes":{"value":{"Node":{"nonterminal":27,"attributes":{"value":{"Node":{"nonterminal":26,"attributes":{"head":{"Node":{"nonterminal":11,"attributes":{"item":{"Node":{"nonterminal":14,"attributes":{"variant":{"Literal":{"value":{"Str":"Regular"},"span":null}},"name":{"Literal":{"value":{"Str":"LPAR"},"span":{"file":"src/parser/parser.gr","start":[44,2],"end":[44,5],"start_byte":931,"end_byte":934}}}},"span":{"file":"src/parser/parser.gr","start":[44,2],"end":[44,5],"start_byte":931,"end_byte":934}}},"attribute":{"Node":{"nonterminal":22,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[44,7],"end":[44,11],"start_byte":936,"end_byte":940}}},"key":{"Node":{"nonterminal":23,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[44,7],"end":[44,11],"start_byte":936,"end_byte":940}}}},"span":{"file":"src/parser/parser.gr","start":[44,2],"end":[44,5],"start_byte":931,"end_byte":934}}},"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}},"tail":{"Node":{"nonterminal":26,"attributes":{"head":{"Node":{"nonterminal":11,"attributes":{"key":{"Node":{"nonterminal":23,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[44,13],"end":[44,16],"start_byte":942,"end_byte":945}}},"item":{"Node":{"nonterminal":14,"attributes":{"variant":{"Literal":{"value":{"Str":"Regular"},"span":null}},"name":{"Literal":{"value":{"Str":"RIGHT"},"span":{"file":"src/parser/parser.gr","start":[44,7],"end":[44,11],"start_byte":936,"end_byte":940}}}},"span":{"file":"src/parser/parser.gr","start":[44,7],"end":[44,11],"start_byte":936,"end_byte":940}}},"attribute":{"Node":{"nonterminal":22,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[44,13],"end":[44,16],"start_byte":942,"end_byte":945}}}},"span":{"file":"src/parser/parser.gr","start":[44,7],"end":[44,11],"start_byte":936,"end_byte":940}}},"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}},"tail":{"Node":{"nonterminal":26,"attributes":{"head":{"Node":{"nonterminal":11,"attributes":{"attribute":{"Node":{"nonterminal":22,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[44,18],"end":[44,18],"start_byte":947,"end_byte":947}}},"item":{"Node":{"nonterminal":14,"attributes":{"variant":{"Literal":{"value":{"Str":"Regular"},"span":null}},"name":{"Literal":{"value":{"Str":"RPAR"},"span":{"file":"src/parser/parser.gr","start":[44,13],"end":[44,16],"start_byte":942,"end_byte":945}}}},"span":{"file":"src/parser/parser.gr","start":[44,13],"end":[44,16],"start_byte":942,"end_byte":945}}},"key":{"Node":{"nonterminal":23,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[44,18],"end":[44,18],"start_byte":947,"end_byte":947}}}},"span":{"file":"src/parser/parser.gr","start":[44,13],"end":[44,16],"start_byte":942,"end_byte":945}}},"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[44,13],"end":[44,16],"start_byte":942,"end_byte":945}}}},"span":{"file":"src/parser/parser.gr","start":[44,7],"end":[44,16],"start_byte":936,"end_byte":945}}}},"span":{"file":"src/parser/parser.gr","start":[44,2],"end":[44,16],"start_byte":931,"end_byte":945}}},"variant":{"Literal":{"value":{"Str":"Some"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[44,2],"end":[44,16],"start_byte":931,"end_byte":945}}}},"span":{"file":"src/parser/parser.gr","start":[44,2],"end":[44,16],"start_byte":931,"end_byte":945}}}},"span":{"file":"src/parser/parser.gr","start":[44,2],"end":[44,24],"start_byte":931,"end_byte":953}}},"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[44,2],"end":[44,24],"start_byte":931,"end_byte":953}}},"head":{"Node":{"nonterminal":6,"attributes":{"proxy":{"Node":{"nonterminal":8,"attributes":{"through":{"Node":{"nonterminal":16,"attributes":{"value":{"Node":{"nonterminal":18,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":17,"attributes":{"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}},"head":{"Node":{"nonterminal":9,"attributes":{"variant":{"Literal":{"value":{"Str":"Variant"},"span":null}},"var":{"Literal":{"value":{"Str":"Left"},"span":{"file":"src/parser/parser.gr","start":[43,18],"end":[43,21],"start_byte":923,"end_byte":926}}}},"span":{"file":"src/parser/parser.gr","start":[43,18],"end":[43,21],"start_byte":923,"end_byte":926}}}},"span":{"file":"src/parser/parser.gr","start":[43,18],"end":[43,21],"start_byte":923,"end_byte":926}}}},"span":{"file":"src/parser/parser.gr","start":[43,18],"end":[43,21],"start_byte":923,"end_byte":926}}}},"span":{"file":"src/parser/parser.gr","start":[43,18],"end":[43,21],"start_byte":923,"end_byte":926}}}},"span":{"file":"src/parser/parser.gr","start":[43,17],"end":[43,22],"start_byte":922,"end_byte":927}}},"assoc":{"Node":{"nonterminal":24,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[43,2],"end":[43,5],"start_byte":907,"end_byte":910}}},"elements":{"Node":{"nonterminal":25,"attributes":{"value":{"Node":{"nonterminal":27,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":26,"attributes":{"head":{"Node":{"nonterminal":11,"attributes":{"item":{"Node":{"nonterminal":14,"attributes":{"variant":{"Literal":{"value":{"Str":"Regular"},"span":null}},"name":{"Literal":{"value":{"Str":"LPAR"},"span":{"file":"src/parser/parser.gr","start":[43,2],"end":[43,5],"start_byte":907,"end_byte":910}}}},"span":{"file":"src/parser/parser.gr","start":[43,2],"end":[43,5],"start_byte":907,"end_byte":910}}},"attribute":{"Node":{"nonterminal":22,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[43,7],"end":[43,10],"start_byte":912,"end_byte":915}}},"key":{"Node":{"nonterminal":23,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[43,7],"end":[43,10],"start_byte":912,"end_byte":915}}}},"span":{"file":"src/parser/parser.gr","start":[43,2],"end":[43,5],"start_byte":907,"end_byte":910}}},"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}},"tail":{"Node":{"nonterminal":26,"attributes":{"tail":{"Node":{"nonterminal":26,"attributes":{"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}},"head":{"Node":{"nonterminal":11,"attributes":{"attribute":{"Node":{"nonterminal":22,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[43,17],"end":[43,17],"start_byte":922,"end_byte":922}}},"item":{"Node":{"nonterminal":14,"attributes":{"variant":{"Literal":{"value":{"Str":"Regular"},"span":null}},"name":{"Literal":{"value":{"Str":"RPAR"},"span":{"file":"src/parser/parser.gr","start":[43,12],"end":[43,15],"start_byte":917,"end_byte":920}}}},"span":{"file":"src/parser/parser.gr","start":[43,12],"end":[43,15],"start_byte":917,"end_byte":920}}},"key":{"Node":{"nonterminal":23,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[43,17],"end":[43,17],"start_byte":922,"end_byte":922}}}},"span":{"file":"src/parser/parser.gr","start":[43,12],"end":[43,15],"start_byte":917,"end_byte":920}}}},"span":{"file":"src/parser/parser.gr","start":[43,12],"end":[43,15],"start_byte":917,"end_byte":920}}},"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}},"head":{"Node":{"nonterminal":11,"attributes":{"attribute":{"Node":{"nonterminal":22,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[43,12],"end":[43,15],"start_byte":917,"end_byte":920}}},"key":{"Node":{"nonterminal":23,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[43,12],"end":[43,15],"start_byte":917,"end_byte":920}}},"item":{"Node":{"nonterminal":14,"attributes":{"name":{"Literal":{"value":{"Str":"LEFT"},"span":{"file":"src/parser/parser.gr","start":[43,7],"end":[43,10],"start_byte":912,"end_byte":915}}},"variant":{"Literal":{"value":{"Str":"Regular"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[43,7],"end":[43,10],"start_byte":912,"end_byte":915}}}},"span":{"file":"src/parser/parser.gr","start":[43,7],"end":[43,10],"start_byte":912,"end_byte":915}}}},"span":{"file":"src/parser/parser.gr","start":[43,7],"end":[43,15],"start_byte":912,"end_byte":920}}}},"span":{"file":"src/parser/parser.gr","start":[43,2],"end":[43,15],"start_byte":907,"end_byte":920}}}},"span":{"file":"src/parser/parser.gr","start":[43,2],"end":[43,15],"start_byte":907,"end_byte":920}}}},"span":{"file":"src/parser/parser.gr","start":[43,2],"end":[43,15],"start_byte":907,"end_byte":920}}}},"span":{"file":"src/parser/parser.gr","start":[43,2],"end":[43,22],"start_byte":907,"end_byte":927}}},"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[43,2],"end":[44,24],"start_byte":907,"end_byte":953}}}},"span":{"file":"src/parser/parser.gr","start":[43,2],"end":[44,24],"start_byte":907,"end_byte":953}}}},"span":{"file":"src/parser/parser.gr","start":[43,2],"end":[44,24],"start_byte":907,"end_byte":953}}},"comment":{"Node":{"nonterminal":34,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":4,"attributes":{"through":{"Literal":{"value":{"Str":"an associativity specifier"},"span":{"file":"src/parser/parser.gr","start":[41,0],"end":[41,27],"start_byte":858,"end_byte":885}}}},"span":{"file":"src/parser/parser.gr","start":[41,0],"end":[41,27],"start_byte":858,"end_byte":885}}}},"span":{"file":"src/parser/parser.gr","start":[41,0],"end":[41,27],"start_byte":858,"end_byte":885}}}},"span":{"file":"src/parser/parser.gr","start":[41,0],"end":[44,25],"start_byte":858,"end_byte":954}}},"variant":{"Literal":{"value":{"Str":"Decl"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[41,0],"end":[44,25],"start_byte":858,"end_byte":954}}},"tail":{"Node":{"nonterminal":37,"attributes":{"tail":{"Node":{"nonterminal":37,"attributes":{"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}},"head":{"Node":{"nonterminal":2,"attributes":{"variant":{"Literal":{"value":{"Str":"Decl"},"span":null}},"decl":{"Node":{"nonterminal":3,"attributes":{"comment":{"Node":{"nonterminal":34,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":4,"attributes":{"through":{"Literal":{"value":{"Str":"a proxy item"},"span":{"file":"src/parser/parser.gr","start":[50,0],"end":[50,13],"start_byte":1029,"end_byte":1042}}}},"span":{"file":"src/parser/parser.gr","start":[50,0],"end":[50,13],"start_byte":1029,"end_byte":1042}}}},"span":{"file":"src/parser/parser.gr","start":[50,0],"end":[50,13],"start_byte":1029,"end_byte":1042}}},"rules":{"Node":{"nonterminal":31,"attributes":{"value":{"Node":{"nonterminal":33,"attributes":{"value":{"Node":{"nonterminal":32,"attributes":{"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}},"head":{"Node":{"nonterminal":6,"attributes":{"elements":{"Node":{"nonterminal":25,"attributes":{"value":{"Node":{"nonterminal":27,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":26,"attributes":{"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}},"head":{"Node":{"nonterminal":11,"attributes":{"key":{"Node":{"nonterminal":23,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":13,"attributes":{"key":{"Literal":{"value":{"Str":"var"},"span":{"file":"src/parser/parser.gr","start":[52,7],"end":[52,9],"start_byte":1065,"end_byte":1067}}}},"span":{"file":"src/parser/parser.gr","start":[52,6],"end":[52,9],"start_byte":1064,"end_byte":1067}}}},"span":{"file":"src/parser/parser.gr","start":[52,6],"end":[52,9],"start_byte":1064,"end_byte":1067}}},"item":{"Node":{"nonterminal":14,"attributes":{"name":{"Literal":{"value":{"Str":"ID"},"span":{"file":"src/parser/parser.gr","start":[52,2],"end":[52,3],"start_byte":1060,"end_byte":1061}}},"variant":{"Literal":{"value":{"Str":"Regular"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[52,2],"end":[52,3],"start_byte":1060,"end_byte":1061}}},"attribute":{"Node":{"nonterminal":22,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":12,"attributes":{"attribute":{"Literal":{"value":{"Str":"0"},"span":{"file":"src/parser/parser.gr","start":[52,5],"end":[52,5],"start_byte":1063,"end_byte":1063}}},"variant":{"Literal":{"value":{"Str":"Indexed"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[52,4],"end":[52,5],"start_byte":1062,"end_byte":1063}}}},"span":{"file":"src/parser/parser.gr","start":[52,4],"end":[52,5],"start_byte":1062,"end_byte":1063}}}},"span":{"file":"src/parser/parser.gr","start":[52,2],"end":[52,9],"start_byte":1060,"end_byte":1067}}}},"span":{"file":"src/parser/parser.gr","start":[52,2],"end":[52,9],"start_byte":1060,"end_byte":1067}}}},"span":{"file":"src/parser/parser.gr","start":[52,2],"end":[52,9],"start_byte":1060,"end_byte":1067}}}},"span":{"file":"src/parser/parser.gr","start":[52,2],"end":[52,9],"start_byte":1060,"end_byte":1067}}},"assoc":{"Node":{"nonterminal":24,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[52,2],"end":[52,3],"start_byte":1060,"end_byte":1061}}},"proxy":{"Node":{"nonterminal":8,"attributes":{"through":{"Node":{"nonterminal":16,"attributes":{"value":{"Node":{"nonterminal":18,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":17,"attributes":{"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}},"head":{"Node":{"nonterminal":9,"attributes":{"var":{"Literal":{"value":{"Str":"Variant"},"span":{"file":"src/parser/parser.gr","start":[52,12],"end":[52,18],"start_byte":1070,"end_byte":1076}}},"variant":{"Literal":{"value":{"Str":"Variant"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[52,12],"end":[52,18],"start_byte":1070,"end_byte":1076}}}},"span":{"file":"src/parser/parser.gr","start":[52,12],"end":[52,18],"start_byte":1070,"end_byte":1076}}}},"span":{"file":"src/parser/parser.gr","start":[52,12],"end":[52,18],"start_byte":1070,"end_byte":1076}}}},"span":{"file":"src/parser/parser.gr","start":[52,12],"end":[52,18],"start_byte":1070,"end_byte":1076}}}},"span":{"file":"src/parser/parser.gr","start":[52,11],"end":[52,19],"start_byte":1069,"end_byte":1077}}}},"span":{"file":"src/parser/parser.gr","start":[52,2],"end":[52,19],"start_byte":1060,"end_byte":1077}}},"tail":{"Node":{"nonterminal":32,"attributes":{"head":{"Node":{"nonterminal":6,"attributes":{"assoc":{"Node":{"nonterminal":24,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[53,2],"end":[53,3],"start_byte":1081,"end_byte":1082}}},"elements":{"Node":{"nonterminal":25,"attributes":{"value":{"Node":{"nonterminal":27,"attributes":{"value":{"Node":{"nonterminal":26,"attributes":{"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}},"head":{"Node":{"nonterminal":11,"attributes":{"attribute":{"Node":{"nonterminal":22,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":12,"attributes":{"variant":{"Literal":{"value":{"Str":"Indexed"},"span":null}},"attribute":{"Literal":{"value":{"Str":"0"},"span":{"file":"src/parser/parser.gr","start":[53,5],"end":[53,5],"start_byte":1084,"end_byte":1084}}}},"span":{"file":"src/parser/parser.gr","start":[53,4],"end":[53,5],"start_byte":1083,"end_byte":1084}}}},"span":{"file":"src/parser/parser.gr","start":[53,4],"end":[53,5],"start_byte":1083,"end_byte":1084}}},"key":{"Node":{"nonterminal":23,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":13,"attributes":{"key":{"Literal":{"value":{"Str":"key"},"span":{"file":"src/parser/parser.gr","start":[53,7],"end":[53,9],"start_byte":1086,"end_byte":1088}}}},"span":{"file":"src/parser/parser.gr","start":[53,6],"end":[53,9],"start_byte":1085,"end_byte":1088}}}},"span":{"file":"src/parser/parser.gr","start":[53,6],"end":[53,9],"start_byte":1085,"end_byte":1088}}},"item":{"Node":{"nonterminal":14,"attributes":{"variant":{"Literal":{"value":{"Str":"Regular"},"span":null}},"name":{"Literal":{"value":{"Str":"ID"},"span":{"file":"src/parser/parser.gr","start":[53,2],"end":[53,3],"start_byte":1081,"end_byte":1082}}}},"span":{"file":"src/parser/parser.gr","start":[53,2],"end":[53,3],"start_byte":1081,"end_byte":1082}}}},"span":{"file":"src/parser/parser.gr","start":[53,2],"end":[53,9],"start_byte":1081,"end_byte":1088}}},"tail":{"Node":{"nonterminal":26,"attributes":{"tail":{"Node":{"nonterminal":26,"attributes":{"head":{"Node":{"nonterminal":11,"attributes":{"item":{"Node":{"nonterminal":14,"attributes":{"variant":{"Literal":{"value":{"Str":"Regular"},"span":null}},"name":{"Literal":{"value":{"Str":"Expression"},"span":{"file":"src/parser/parser.gr","start":[53,17],"end":[53,26],"start_byte":1096,"end_byte":1105}}}},"span":{"file":"src/parser/parser.gr","start":[53,17],"end":[53,26],"start_byte":1096,"end_byte":1105}}},"attribute":{"Node":{"nonterminal":22,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[53,27],"end":[53,27],"start_byte":1106,"end_byte":1106}}},"key":{"Node":{"nonterminal":23,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":13,"attributes":{"key":{"Literal":{"value":{"Str":"value"},"span":{"file":"src/parser/parser.gr","start":[53,28],"end":[53,32],"start_byte":1107,"end_byte":1111}}}},"span":{"file":"src/parser/parser.gr","start":[53,27],"end":[53,32],"start_byte":1106,"end_byte":1111}}}},"span":{"file":"src/parser/parser.gr","start":[53,27],"end":[53,32],"start_byte":1106,"end_byte":1111}}}},"span":{"file":"src/parser/parser.gr","start":[53,17],"end":[53,32],"start_byte":1096,"end_byte":1111}}},"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[53,17],"end":[53,32],"start_byte":1096,"end_byte":1111}}},"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}},"head":{"Node":{"nonterminal":11,"attributes":{"key":{"Node":{"nonterminal":23,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[53,17],"end":[53,26],"start_byte":1096,"end_byte":1105}}},"item":{"Node":{"nonterminal":14,"attributes":{"variant":{"Literal":{"value":{"Str":"Regular"},"span":null}},"name":{"Literal":{"value":{"Str":"COLON"},"span":{"file":"src/parser/parser.gr","start":[53,11],"end":[53,15],"start_byte":1090,"end_byte":1094}}}},"span":{"file":"src/parser/parser.gr","start":[53,11],"end":[53,15],"start_byte":1090,"end_byte":1094}}},"attribute":{"Node":{"nonterminal":22,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[53,17],"end":[53,26],"start_byte":1096,"end_byte":1105}}}},"span":{"file":"src/parser/parser.gr","start":[53,11],"end":[53,15],"start_byte":1090,"end_byte":1094}}}},"span":{"file":"src/parser/parser.gr","start":[53,11],"end":[53,32],"start_byte":1090,"end_byte":1111}}}},"span":{"file":"src/parser/parser.gr","start":[53,2],"end":[53,32],"start_byte":1081,"end_byte":1111}}},"variant":{"Literal":{"value":{"Str":"Some"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[53,2],"end":[53,32],"start_byte":1081,"end_byte":1111}}}},"span":{"file":"src/parser/parser.gr","start":[53,2],"end":[53,32],"start_byte":1081,"end_byte":1111}}},"proxy":{"Node":{"nonterminal":8,"attributes":{"through":{"Node":{"nonterminal":16,"attributes":{"value":{"Node":{"nonterminal":18,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":17,"attributes":{"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}},"head":{"Node":{"nonterminal":9,"attributes":{"variant":{"Literal":{"value":{"Str":"Variant"},"span":null}},"var":{"Literal":{"value":{"Str":"Entry"},"span":{"file":"src/parser/parser.gr","start":[53,35],"end":[53,39],"start_byte":1114,"end_byte":1118}}}},"span":{"file":"src/parser/parser.gr","start":[53,35],"end":[53,39],"start_byte":1114,"end_byte":1118}}}},"span":{"file":"src/parser/parser.gr","start":[53,35],"end":[53,39],"start_byte":1114,"end_byte":1118}}}},"span":{"file":"src/parser/parser.gr","start":[53,35],"end":[53,39],"start_byte":1114,"end_byte":1118}}}},"span":{"file":"src/parser/parser.gr","start":[53,35],"end":[53,39],"start_byte":1114,"end_byte":1118}}}},"span":{"file":"src/parser/parser.gr","start":[53,34],"end":[53,40],"start_byte":1113,"end_byte":1119}}}},"span":{"file":"src/parser/parser.gr","start":[53,2],"end":[53,40],"start_byte":1081,"end_byte":1119}}},"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[53,2],"end":[53,40],"start_byte":1081,"end_byte":1119}}}},"span":{"file":"src/parser/parser.gr","start":[52,2],"end":[53,40],"start_byte":1060,"end_byte":1119}}},"variant":{"Literal":{"value":{"Str":"Some"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[52,2],"end":[53,40],"start_byte":1060,"end_byte":1119}}}},"span":{"file":"src/parser/parser.gr","start":[52,2],"end":[53,40],"start_byte":1060,"end_byte":1119}}},"name":{"Literal":{"value":{"Str":"ProxyItem"},"span":{"file":"src/parser/parser.gr","start":[51,0],"end":[51,8],"start_byte":1044,"end_byte":1052}}},"axiom":{"Node":{"nonterminal":35,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[51,0],"end":[51,8],"start_byte":1044,"end_byte":1052}}}},"span":{"file":"src/parser/parser.gr","start":[50,0],"end":[53,41],"start_byte":1029,"end_byte":1120}}}},"span":{"file":"src/parser/parser.gr","start":[50,0],"end":[53,41],"start_byte":1029,"end_byte":1120}}},"tail":{"Node":{"nonterminal":37,"attributes":{"tail":{"Node":{"nonterminal":37,"attributes":{"tail":{"Node":{"nonterminal":37,"attributes":{"head":{"Node":{"nonterminal":2,"attributes":{"variant":{"Literal":{"value":{"Str":"Decl"},"span":null}},"decl":{"Node":{"nonterminal":3,"attributes":{"name":{"Literal":{"value":{"Str":"Attribute"},"span":{"file":"src/parser/parser.gr","start":[64,0],"end":[64,8],"start_byte":1274,"end_byte":1282}}},"axiom":{"Node":{"nonterminal":35,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[64,0],"end":[64,8],"start_byte":1274,"end_byte":1282}}},"comment":{"Node":{"nonterminal":34,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":4,"attributes":{"through":{"Literal":{"value":{"Str":"an attribute"},"span":{"file":"src/parser/parser.gr","start":[63,0],"end":[63,13],"start_byte":1259,"end_byte":1272}}}},"span":{"file":"src/parser/parser.gr","start":[63,0],"end":[63,13],"start_byte":1259,"end_byte":1272}}}},"span":{"file":"src/parser/parser.gr","start":[63,0],"end":[63,13],"start_byte":1259,"end_byte":1272}}},"rules":{"Node":{"nonterminal":31,"attributes":{"value":{"Node":{"nonterminal":33,"attributes":{"value":{"Node":{"nonterminal":32,"attributes":{"head":{"Node":{"nonterminal":6,"attributes":{"elements":{"Node":{"nonterminal":25,"attributes":{"value":{"Node":{"nonterminal":27,"attributes":{"value":{"Node":{"nonterminal":26,"attributes":{"head":{"Node":{"nonterminal":11,"attributes":{"item":{"Node":{"nonterminal":14,"attributes":{"name":{"Literal":{"value":{"Str":"DOT"},"span":{"file":"src/parser/parser.gr","start":[65,2],"end":[65,4],"start_byte":1290,"end_byte":1292}}},"variant":{"Literal":{"value":{"Str":"Regular"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[65,2],"end":[65,4],"start_byte":1290,"end_byte":1292}}},"key":{"Node":{"nonterminal":23,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[65,6],"end":[65,7],"start_byte":1294,"end_byte":1295}}},"attribute":{"Node":{"nonterminal":22,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[65,6],"end":[65,7],"start_byte":1294,"end_byte":1295}}}},"span":{"file":"src/parser/parser.gr","start":[65,2],"end":[65,4],"start_byte":1290,"end_byte":1292}}},"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}},"tail":{"Node":{"nonterminal":26,"attributes":{"head":{"Node":{"nonterminal":11,"attributes":{"key":{"Node":{"nonterminal":23,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":13,"attributes":{"key":{"Literal":{"value":{"Str":"attribute"},"span":{"file":"src/parser/parser.gr","start":[65,11],"end":[65,19],"start_byte":1299,"end_byte":1307}}}},"span":{"file":"src/parser/parser.gr","start":[65,10],"end":[65,19],"start_byte":1298,"end_byte":1307}}}},"span":{"file":"src/parser/parser.gr","start":[65,10],"end":[65,19],"start_byte":1298,"end_byte":1307}}},"attribute":{"Node":{"nonterminal":22,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":12,"attributes":{"variant":{"Literal":{"value":{"Str":"Indexed"},"span":null}},"attribute":{"Literal":{"value":{"Str":"0"},"span":{"file":"src/parser/parser.gr","start":[65,9],"end":[65,9],"start_byte":1297,"end_byte":1297}}}},"span":{"file":"src/parser/parser.gr","start":[65,8],"end":[65,9],"start_byte":1296,"end_byte":1297}}}},"span":{"file":"src/parser/parser.gr","start":[65,8],"end":[65,9],"start_byte":1296,"end_byte":1297}}},"item":{"Node":{"nonterminal":14,"attributes":{"name":{"Literal":{"value":{"Str":"ID"},"span":{"file":"src/parser/parser.gr","start":[65,6],"end":[65,7],"start_byte":1294,"end_byte":1295}}},"variant":{"Literal":{"value":{"Str":"Regular"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[65,6],"end":[65,7],"start_byte":1294,"end_byte":1295}}}},"span":{"file":"src/parser/parser.gr","start":[65,6],"end":[65,19],"start_byte":1294,"end_byte":1307}}},"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[65,6],"end":[65,19],"start_byte":1294,"end_byte":1307}}}},"span":{"file":"src/parser/parser.gr","start":[65,2],"end":[65,19],"start_byte":1290,"end_byte":1307}}},"variant":{"Literal":{"value":{"Str":"Some"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[65,2],"end":[65,19],"start_byte":1290,"end_byte":1307}}}},"span":{"file":"src/parser/parser.gr","start":[65,2],"end":[65,19],"start_byte":1290,"end_byte":1307}}},"assoc":{"Node":{"nonterminal":24,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[65,2],"end":[65,4],"start_byte":1290,"end_byte":1292}}},"proxy":{"Node":{"nonterminal":8,"attributes":{"through":{"Node":{"nonterminal":16,"attributes":{"value":{"Node":{"nonterminal":18,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":17,"attributes":{"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}},"head":{"Node":{"nonterminal":9,"attributes":{"variant":{"Literal":{"value":{"Str":"Variant"},"span":null}},"var":{"Literal":{"value":{"Str":"Named"},"span":{"file":"src/parser/parser.gr","start":[65,22],"end":[65,26],"start_byte":1310,"end_byte":1314}}}},"span":{"file":"src/parser/parser.gr","start":[65,22],"end":[65,26],"start_byte":1310,"end_byte":1314}}}},"span":{"file":"src/parser/parser.gr","start":[65,22],"end":[65,26],"start_byte":1310,"end_byte":1314}}}},"span":{"file":"src/parser/parser.gr","start":[65,22],"end":[65,26],"start_byte":1310,"end_byte":1314}}}},"span":{"file":"src/parser/parser.gr","start":[65,22],"end":[65,26],"start_byte":1310,"end_byte":1314}}}},"span":{"file":"src/parser/parser.gr","start":[65,21],"end":[65,27],"start_byte":1309,"end_byte":1315}}}},"span":{"file":"src/parser/parser.gr","start":[65,2],"end":[65,27],"start_byte":1290,"end_byte":1315}}},"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}},"tail":{"Node":{"nonterminal":32,"attributes":{"head":{"Node":{"nonterminal":6,"attributes":{"elements":{"Node":{"nonterminal":25,"attributes":{"value":{"Node":{"nonterminal":27,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":26,"attributes":{"head":{"Node":{"nonterminal":11,"attributes":{"item":{"Node":{"nonterminal":14,"attributes":{"variant":{"Literal":{"value":{"Str":"Regular"},"span":null}},"name":{"Literal":{"value":{"Str":"DOT"},"span":{"file":"src/parser/parser.gr","start":[66,2],"end":[66,4],"start_byte":1319,"end_byte":1321}}}},"span":{"file":"src/parser/parser.gr","start":[66,2],"end":[66,4],"start_byte":1319,"end_byte":1321}}},"key":{"Node":{"nonterminal":23,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[66,6],"end":[66,8],"start_byte":1323,"end_byte":1325}}},"attribute":{"Node":{"nonterminal":22,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[66,6],"end":[66,8],"start_byte":1323,"end_byte":1325}}}},"span":{"file":"src/parser/parser.gr","start":[66,2],"end":[66,4],"start_byte":1319,"end_byte":1321}}},"tail":{"Node":{"nonterminal":26,"attributes":{"head":{"Node":{"nonterminal":11,"attributes":{"item":{"Node":{"nonterminal":14,"attributes":{"name":{"Literal":{"value":{"Str":"INT"},"span":{"file":"src/parser/parser.gr","start":[66,6],"end":[66,8],"start_byte":1323,"end_byte":1325}}},"variant":{"Literal":{"value":{"Str":"Regular"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[66,6],"end":[66,8],"start_byte":1323,"end_byte":1325}}},"key":{"Node":{"nonterminal":23,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":13,"attributes":{"key":{"Literal":{"value":{"Str":"attribute"},"span":{"file":"src/parser/parser.gr","start":[66,12],"end":[66,20],"start_byte":1329,"end_byte":1337}}}},"span":{"file":"src/parser/parser.gr","start":[66,11],"end":[66,20],"start_byte":1328,"end_byte":1337}}}},"span":{"file":"src/parser/parser.gr","start":[66,11],"end":[66,20],"start_byte":1328,"end_byte":1337}}},"attribute":{"Node":{"nonterminal":22,"attributes":{"value":{"Node":{"nonterminal":12,"attributes":{"variant":{"Literal":{"value":{"Str":"Indexed"},"span":null}},"attribute":{"Literal":{"value":{"Str":"0"},"span":{"file":"src/parser/parser.gr","start":[66,10],"end":[66,10],"start_byte":1327,"end_byte":1327}}}},"span":{"file":"src/parser/parser.gr","start":[66,9],"end":[66,10],"start_byte":1326,"end_byte":1327}}},"variant":{"Literal":{"value":{"Str":"Some"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[66,9],"end":[66,10],"start_byte":1326,"end_byte":1327}}}},"span":{"file":"src/parser/parser.gr","start":[66,6],"end":[66,20],"start_byte":1323,"end_byte":1337}}},"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[66,6],"end":[66,20],"start_byte":1323,"end_byte":1337}}},"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[66,2],"end":[66,20],"start_byte":1319,"end_byte":1337}}}},"span":{"file":"src/parser/parser.gr","start":[66,2],"end":[66,20],"start_byte":1319,"end_byte":1337}}}},"span":{"file":"src/parser/parser.gr","start":[66,2],"end":[66,20],"start_byte":1319,"end_byte":1337}}},"proxy":{"Node":{"nonterminal":8,"attributes":{"through":{"Node":{"nonterminal":16,"attributes":{"value":{"Node":{"nonterminal":18,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":17,"attributes":{"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}},"head":{"Node":{"nonterminal":9,"attributes":{"var":{"Literal":{"value":{"Str":"Indexed"},"span":{"file":"src/parser/parser.gr","start":[66,23],"end":[66,29],"start_byte":1340,"end_byte":1346}}},"variant":{"Literal":{"value":{"Str":"Variant"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[66,23],"end":[66,29],"start_byte":1340,"end_byte":1346}}}},"span":{"file":"src/parser/parser.gr","start":[66,23],"end":[66,29],"start_byte":1340,"end_byte":1346}}}},"span":{"file":"src/parser/parser.gr","start":[66,23],"end":[66,29],"start_byte":1340,"end_byte":1346}}}},"span":{"file":"src/parser/parser.gr","start":[66,23],"end":[66,29],"start_byte":1340,"end_byte":1346}}}},"span":{"file":"src/parser/parser.gr","start":[66,22],"end":[66,30],"start_byte":1339,"end_byte":1347}}},"assoc":{"Node":{"nonterminal":24,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[66,2],"end":[66,4],"start_byte":1319,"end_byte":1321}}}},"span":{"file":"src/parser/parser.gr","start":[66,2],"end":[66,30],"start_byte":1319,"end_byte":1347}}},"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[66,2],"end":[66,30],"start_byte":1319,"end_byte":1347}}}},"span":{"file":"src/parser/parser.gr","start":[65,2],"end":[66,30],"start_byte":1290,"end_byte":1347}}},"variant":{"Literal":{"value":{"Str":"Some"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[65,2],"end":[66,30],"start_byte":1290,"end_byte":1347}}}},"span":{"file":"src/parser/parser.gr","start":[65,2],"end":[66,30],"start_byte":1290,"end_byte":1347}}}},"span":{"file":"src/parser/parser.gr","start":[63,0],"end":[66,31],"start_byte":1259,"end_byte":1348}}}},"span":{"file":"src/parser/parser.gr","start":[63,0],"end":[66,31],"start_byte":1259,"end_byte":1348}}},"tail":{"Node":{"nonterminal":37,"attributes":{"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}},"tail":{"Node":{"nonterminal":37,"attributes":{"head":{"Node":{"nonterminal":2,"attributes":{"variant":{"Literal":{"value":{"Str":"Decl"},"span":null}},"decl":{"Node":{"nonterminal":3,"attributes":{"comment":{"Node":{"nonterminal":34,"attributes":{"value":{"Node":{"nonterminal":4,"attributes":{"through":{"Literal":{"value":{"Str":"an item"},"span":{"file":"src/parser/parser.gr","start":[72,0],"end":[72,8],"start_byte":1386,"end_byte":1394}}}},"span":{"file":"src/parser/parser.gr","start":[72,0],"end":[72,8],"start_byte":1386,"end_byte":1394}}},"variant":{"Literal":{"value":{"Str":"Some"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[72,0],"end":[72,8],"start_byte":1386,"end_byte":1394}}},"rules":{"Node":{"nonterminal":31,"attributes":{"value":{"Node":{"nonterminal":33,"attributes":{"value":{"Node":{"nonterminal":32,"attributes":{"tail":{"Node":{"nonterminal":32,"attributes":{"head":{"Node":{"nonterminal":6,"attributes":{"elements":{"Node":{"nonterminal":25,"attributes":{"value":{"Node":{"nonterminal":27,"attributes":{"value":{"Node":{"nonterminal":26,"attributes":{"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}},"head":{"Node":{"nonterminal":11,"attributes":{"key":{"Node":{"nonterminal":23,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":13,"attributes":{"key":{"Literal":{"value":{"Str":"name"},"span":{"file":"src/parser/parser.gr","start":[75,7],"end":[75,10],"start_byte":1437,"end_byte":1440}}}},"span":{"file":"src/parser/parser.gr","start":[75,6],"end":[75,10],"start_byte":1436,"end_byte":1440}}}},"span":{"file":"src/parser/parser.gr","start":[75,6],"end":[75,10],"start_byte":1436,"end_byte":1440}}},"attribute":{"Node":{"nonterminal":22,"attributes":{"value":{"Node":{"nonterminal":12,"attributes":{"attribute":{"Literal":{"value":{"Str":"0"},"span":{"file":"src/parser/parser.gr","start":[75,5],"end":[75,5],"start_byte":1435,"end_byte":1435}}},"variant":{"Literal":{"value":{"Str":"Indexed"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[75,4],"end":[75,5],"start_byte":1434,"end_byte":1435}}},"variant":{"Literal":{"value":{"Str":"Some"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[75,4],"end":[75,5],"start_byte":1434,"end_byte":1435}}},"item":{"Node":{"nonterminal":14,"attributes":{"name":{"Literal":{"value":{"Str":"ID"},"span":{"file":"src/parser/parser.gr","start":[75,2],"end":[75,3],"start_byte":1432,"end_byte":1433}}},"variant":{"Literal":{"value":{"Str":"Regular"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[75,2],"end":[75,3],"start_byte":1432,"end_byte":1433}}}},"span":{"file":"src/parser/parser.gr","start":[75,2],"end":[75,10],"start_byte":1432,"end_byte":1440}}}},"span":{"file":"src/parser/parser.gr","start":[75,2],"end":[75,10],"start_byte":1432,"end_byte":1440}}},"variant":{"Literal":{"value":{"Str":"Some"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[75,2],"end":[75,10],"start_byte":1432,"end_byte":1440}}}},"span":{"file":"src/parser/parser.gr","start":[75,2],"end":[75,10],"start_byte":1432,"end_byte":1440}}},"assoc":{"Node":{"nonterminal":24,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[75,2],"end":[75,3],"start_byte":1432,"end_byte":1433}}},"proxy":{"Node":{"nonterminal":8,"attributes":{"through":{"Node":{"nonterminal":16,"attributes":{"value":{"Node":{"nonterminal":18,"attributes":{"value":{"Node":{"nonterminal":17,"attributes":{"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}},"head":{"Node":{"nonterminal":9,"attributes":{"var":{"Literal":{"value":{"Str":"Regular"},"span":{"file":"src/parser/parser.gr","start":[75,13],"end":[75,19],"start_byte":1443,"end_byte":1449}}},"variant":{"Literal":{"value":{"Str":"Variant"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[75,13],"end":[75,19],"start_byte":1443,"end_byte":1449}}}},"span":{"file":"src/parser/parser.gr","start":[75,13],"end":[75,19],"start_byte":1443,"end_byte":1449}}},"variant":{"Literal":{"value":{"Str":"Some"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[75,13],"end":[75,19],"start_byte":1443,"end_byte":1449}}}},"span":{"file":"src/parser/parser.gr","start":[75,13],"end":[75,19],"start_byte":1443,"end_byte":1449}}}},"span":{"file":"src/parser/parser.gr","start":[75,12],"end":[75,20],"start_byte":1442,"end_byte":1450}}}},"span":{"file":"src/parser/parser.gr","start":[75,2],"end":[75,20],"start_byte":1432,"end_byte":1450}}},"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}},"tail":{"Node":{"nonterminal":32,"attributes":{"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}},"head":{"Node":{"nonterminal":6,"attributes":{"elements":{"Node":{"nonterminal":25,"attributes":{"value":{"Node":{"nonterminal":27,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":26,"attributes":{"head":{"Node":{"nonterminal":11,"attributes":{"item":{"Node":{"nonterminal":14,"attributes":{"variant":{"Literal":{"value":{"Str":"Regular"},"span":null}},"name":{"Literal":{"value":{"Str":"ID"},"span":{"file":"src/parser/parser.gr","start":[76,2],"end":[76,3],"start_byte":1454,"end_byte":1455}}}},"span":{"file":"src/parser/parser.gr","start":[76,2],"end":[76,3],"start_byte":1454,"end_byte":1455}}},"attribute":{"Node":{"nonterminal":22,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":12,"attributes":{"attribute":{"Literal":{"value":{"Str":"0"},"span":{"file":"src/parser/parser.gr","start":[76,5],"end":[76,5],"start_byte":1457,"end_byte":1457}}},"variant":{"Literal":{"value":{"Str":"Indexed"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[76,4],"end":[76,5],"start_byte":1456,"end_byte":1457}}}},"span":{"file":"src/parser/parser.gr","start":[76,4],"end":[76,5],"start_byte":1456,"end_byte":1457}}},"key":{"Node":{"nonterminal":23,"attributes":{"value":{"Node":{"nonterminal":13,"attributes":{"key":{"Literal":{"value":{"Str":"name"},"span":{"file":"src/parser/parser.gr","start":[76,7],"end":[76,10],"start_byte":1459,"end_byte":1462}}}},"span":{"file":"src/parser/parser.gr","start":[76,6],"end":[76,10],"start_byte":1458,"end_byte":1462}}},"variant":{"Literal":{"value":{"Str":"Some"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[76,6],"end":[76,10],"start_byte":1458,"end_byte":1462}}}},"span":{"file":"src/parser/parser.gr","start":[76,2],"end":[76,10],"start_byte":1454,"end_byte":1462}}},"tail":{"Node":{"nonterminal":26,"attributes":{"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}},"head":{"Node":{"nonterminal":11,"attributes":{"key":{"Node":{"nonterminal":23,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[76,21],"end":[76,24],"start_byte":1473,"end_byte":1476}}},"attribute":{"Node":{"nonterminal":22,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[76,21],"end":[76,24],"start_byte":1473,"end_byte":1476}}},"item":{"Node":{"nonterminal":14,"attributes":{"variant":{"Literal":{"value":{"Str":"Regular"},"span":null}},"name":{"Literal":{"value":{"Str":"LBRACKET"},"span":{"file":"src/parser/parser.gr","start":[76,12],"end":[76,19],"start_byte":1464,"end_byte":1471}}}},"span":{"file":"src/parser/parser.gr","start":[76,12],"end":[76,19],"start_byte":1464,"end_byte":1471}}}},"span":{"file":"src/parser/parser.gr","start":[76,12],"end":[76,19],"start_byte":1464,"end_byte":1471}}},"tail":{"Node":{"nonterminal":26,"attributes":{"tail":{"Node":{"nonterminal":26,"attributes":{"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}},"head":{"Node":{"nonterminal":11,"attributes":{"key":{"Node":{"nonterminal":23,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[76,53],"end":[76,53],"start_byte":1505,"end_byte":1505}}},"item":{"Node":{"nonterminal":14,"attributes":{"name":{"Literal":{"value":{"Str":"RBRACKET"},"span":{"file":"src/parser/parser.gr","start":[76,44],"end":[76,51],"start_byte":1496,"end_byte":1503}}},"variant":{"Literal":{"value":{"Str":"Regular"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[76,44],"end":[76,51],"start_byte":1496,"end_byte":1503}}},"attribute":{"Node":{"nonterminal":22,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[76,53],"end":[76,53],"start_byte":1505,"end_byte":1505}}}},"span":{"file":"src/parser/parser.gr","start":[76,44],"end":[76,51],"start_byte":1496,"end_byte":1503}}}},"span":{"file":"src/parser/parser.gr","start":[76,44],"end":[76,51],"start_byte":1496,"end_byte":1503}}},"head":{"Node":{"nonterminal":11,"attributes":{"item":{"Node":{"nonterminal":14,"attributes":{"variant":{"Literal":{"value":{"Str":"MacroInvocation"},"span":null}},"args":{"Node":{"nonterminal":19,"attributes":{"value":{"Node":{"nonterminal":21,"attributes":{"value":{"Node":{"nonterminal":20,"attributes":{"head":{"Node":{"nonterminal":14,"attributes":{"variant":{"Literal":{"value":{"Str":"Regular"},"span":null}},"name":{"Literal":{"value":{"Str":"Item"},"span":{"file":"src/parser/parser.gr","start":[76,26],"end":[76,29],"start_byte":1478,"end_byte":1481}}}},"span":{"file":"src/parser/parser.gr","start":[76,26],"end":[76,29],"start_byte":1478,"end_byte":1481}}},"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}},"tail":{"Node":{"nonterminal":20,"attributes":{"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}},"head":{"Node":{"nonterminal":14,"attributes":{"variant":{"Literal":{"value":{"Str":"Regular"},"span":null}},"name":{"Literal":{"value":{"Str":"COMMA"},"span":{"file":"src/parser/parser.gr","start":[76,32],"end":[76,36],"start_byte":1484,"end_byte":1488}}}},"span":{"file":"src/parser/parser.gr","start":[76,32],"end":[76,36],"start_byte":1484,"end_byte":1488}}}},"span":{"file":"src/parser/parser.gr","start":[76,32],"end":[76,36],"start_byte":1484,"end_byte":1488}}}},"span":{"file":"src/parser/parser.gr","start":[76,26],"end":[76,36],"start_byte":1478,"end_byte":1488}}},"variant":{"Literal":{"value":{"Str":"Some"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[76,26],"end":[76,36],"start_byte":1478,"end_byte":1488}}}},"span":{"file":"src/parser/parser.gr","start":[76,26],"end":[76,36],"start_byte":1478,"end_byte":1488}}},"name":{"Literal":{"value":{"Str":"List"},"span":{"file":"src/parser/parser.gr","start":[76,21],"end":[76,24],"start_byte":1473,"end_byte":1476}}}},"span":{"file":"src/parser/parser.gr","start":[76,21],"end":[76,37],"start_byte":1473,"end_byte":1489}}},"key":{"Node":{"nonterminal":23,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":13,"attributes":{"key":{"Literal":{"value":{"Str":"args"},"span":{"file":"src/parser/parser.gr","start":[76,39],"end":[76,42],"start_byte":1491,"end_byte":1494}}}},"span":{"file":"src/parser/parser.gr","start":[76,38],"end":[76,42],"start_byte":1490,"end_byte":1494}}}},"span":{"file":"src/parser/parser.gr","start":[76,38],"end":[76,42],"start_byte":1490,"end_byte":1494}}},"attribute":{"Node":{"nonterminal":22,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[76,38],"end":[76,38],"start_byte":1490,"end_byte":1490}}}},"span":{"file":"src/parser/parser.gr","start":[76,21],"end":[76,42],"start_byte":1473,"end_byte":1494}}},"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[76,21],"end":[76,51],"start_byte":1473,"end_byte":1503}}}},"span":{"file":"src/parser/parser.gr","start":[76,12],"end":[76,51],"start_byte":1464,"end_byte":1503}}},"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[76,2],"end":[76,51],"start_byte":1454,"end_byte":1503}}}},"span":{"file":"src/parser/parser.gr","start":[76,2],"end":[76,51],"start_byte":1454,"end_byte":1503}}}},"span":{"file":"src/parser/parser.gr","start":[76,2],"end":[76,51],"start_byte":1454,"end_byte":1503}}},"assoc":{"Node":{"nonterminal":24,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[76,2],"end":[76,3],"start_byte":1454,"end_byte":1455}}},"proxy":{"Node":{"nonterminal":8,"attributes":{"through":{"Node":{"nonterminal":16,"attributes":{"value":{"Node":{"nonterminal":18,"attributes":{"value":{"Node":{"nonterminal":17,"attributes":{"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}},"head":{"Node":{"nonterminal":9,"attributes":{"var":{"Literal":{"value":{"Str":"MacroInvocation"},"span":{"file":"src/parser/parser.gr","start":[76,54],"end":[76,68],"start_byte":1506,"end_byte":1520}}},"variant":{"Literal":{"value":{"Str":"Variant"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[76,54],"end":[76,68],"start_byte":1506,"end_byte":1520}}}},"span":{"file":"src/parser/parser.gr","start":[76,54],"end":[76,68],"start_byte":1506,"end_byte":1520}}},"variant":{"Literal":{"value":{"Str":"Some"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[76,54],"end":[76,68],"start_byte":1506,"end_byte":1520}}}},"span":{"file":"src/parser/parser.gr","start":[76,54],"end":[76,68],"start_byte":1506,"end_byte":1520}}}},"span":{"file":"src/parser/parser.gr","start":[76,53],"end":[76,69],"start_byte":1505,"end_byte":1521}}}},"span":{"file":"src/parser/parser.gr","start":[76,2],"end":[76,69],"start_byte":1454,"end_byte":1521}}}},"span":{"file":"src/parser/parser.gr","start":[76,2],"end":[76,69],"start_byte":1454,"end_byte":1521}}}},"span":{"file":"src/parser/parser.gr","start":[75,2],"end":[76,69],"start_byte":1432,"end_byte":1521}}},"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}},"head":{"Node":{"nonterminal":6,"attributes":{"assoc":{"Node":{"nonterminal":24,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[74,2],"end":[74,5],"start_byte":1407,"end_byte":1410}}},"proxy":{"Node":{"nonterminal":8,"attributes":{"through":{"Node":{"nonterminal":16,"attributes":{"value":{"Node":{"nonterminal":18,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":17,"attributes":{"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}},"head":{"Node":{"nonterminal":9,"attributes":{"variant":{"Literal":{"value":{"Str":"Variant"},"span":null}},"var":{"Literal":{"value":{"Str":"SelfNonTerminal"},"span":{"file":"src/parser/parser.gr","start":[74,8],"end":[74,22],"start_byte":1413,"end_byte":1427}}}},"span":{"file":"src/parser/parser.gr","start":[74,8],"end":[74,22],"start_byte":1413,"end_byte":1427}}}},"span":{"file":"src/parser/parser.gr","start":[74,8],"end":[74,22],"start_byte":1413,"end_byte":1427}}}},"span":{"file":"src/parser/parser.gr","start":[74,8],"end":[74,22],"start_byte":1413,"end_byte":1427}}}},"span":{"file":"src/parser/parser.gr","start":[74,8],"end":[74,22],"start_byte":1413,"end_byte":1427}}}},"span":{"file":"src/parser/parser.gr","start":[74,7],"end":[74,23],"start_byte":1412,"end_byte":1428}}},"elements":{"Node":{"nonterminal":25,"attributes":{"value":{"Node":{"nonterminal":27,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":26,"attributes":{"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}},"head":{"Node":{"nonterminal":11,"attributes":{"item":{"Node":{"nonterminal":14,"attributes":{"variant":{"Literal":{"value":{"Str":"Regular"},"span":null}},"name":{"Literal":{"value":{"Str":"SELF"},"span":{"file":"src/parser/parser.gr","start":[74,2],"end":[74,5],"start_byte":1407,"end_byte":1410}}}},"span":{"file":"src/parser/parser.gr","start":[74,2],"end":[74,5],"start_byte":1407,"end_byte":1410}}},"attribute":{"Node":{"nonterminal":22,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[74,7],"end":[74,7],"start_byte":1412,"end_byte":1412}}},"key":{"Node":{"nonterminal":23,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[74,7],"end":[74,7],"start_byte":1412,"end_byte":1412}}}},"span":{"file":"src/parser/parser.gr","start":[74,2],"end":[74,5],"start_byte":1407,"end_byte":1410}}}},"span":{"file":"src/parser/parser.gr","start":[74,2],"end":[74,5],"start_byte":1407,"end_byte":1410}}}},"span":{"file":"src/parser/parser.gr","start":[74,2],"end":[74,5],"start_byte":1407,"end_byte":1410}}}},"span":{"file":"src/parser/parser.gr","start":[74,2],"end":[74,5],"start_byte":1407,"end_byte":1410}}}},"span":{"file":"src/parser/parser.gr","start":[74,2],"end":[74,23],"start_byte":1407,"end_byte":1428}}}},"span":{"file":"src/parser/parser.gr","start":[74,2],"end":[76,69],"start_byte":1407,"end_byte":1521}}},"variant":{"Literal":{"value":{"Str":"Some"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[74,2],"end":[76,69],"start_byte":1407,"end_byte":1521}}}},"span":{"file":"src/parser/parser.gr","start":[74,2],"end":[76,69],"start_byte":1407,"end_byte":1521}}},"axiom":{"Node":{"nonterminal":35,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[73,0],"end":[73,3],"start_byte":1396,"end_byte":1399}}},"name":{"Literal":{"value":{"Str":"Item"},"span":{"file":"src/parser/parser.gr","start":[73,0],"end":[73,3],"start_byte":1396,"end_byte":1399}}}},"span":{"file":"src/parser/parser.gr","start":[72,0],"end":[76,70],"start_byte":1386,"end_byte":1522}}}},"span":{"file":"src/parser/parser.gr","start":[72,0],"end":[76,70],"start_byte":1386,"end_byte":1522}}},"tail":{"Node":{"nonterminal":37,"attributes":{"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}},"head":{"Node":{"nonterminal":2,"attributes":{"decl":{"Node":{"nonterminal":3,"attributes":{"comment":{"Node":{"nonterminal":34,"attributes":{"value":{"Node":{"nonterminal":4,"attributes":{"through":{"Literal":{"value":{"Str":"an expression"},"span":{"file":"src/parser/parser.gr","start":[78,0],"end":[78,14],"start_byte":1525,"end_byte":1539}}}},"span":{"file":"src/parser/parser.gr","start":[78,0],"end":[78,14],"start_byte":1525,"end_byte":1539}}},"variant":{"Literal":{"value":{"Str":"Some"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[78,0],"end":[78,14],"start_byte":1525,"end_byte":1539}}},"rules":{"Node":{"nonterminal":31,"attributes":{"value":{"Node":{"nonterminal":33,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":32,"attributes":{"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}},"head":{"Node":{"nonterminal":6,"attributes":{"proxy":{"Node":{"nonterminal":8,"attributes":{"through":{"Node":{"nonterminal":16,"attributes":{"value":{"Node":{"nonterminal":18,"attributes":{"value":{"Node":{"nonterminal":17,"attributes":{"head":{"Node":{"nonterminal":9,"attributes":{"variant":{"Literal":{"value":{"Str":"Variant"},"span":null}},"var":{"Literal":{"value":{"Str":"String"},"span":{"file":"src/parser/parser.gr","start":[80,18],"end":[80,23],"start_byte":1574,"end_byte":1579}}}},"span":{"file":"src/parser/parser.gr","start":[80,18],"end":[80,23],"start_byte":1574,"end_byte":1579}}},"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[80,18],"end":[80,23],"start_byte":1574,"end_byte":1579}}},"variant":{"Literal":{"value":{"Str":"Some"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[80,18],"end":[80,23],"start_byte":1574,"end_byte":1579}}}},"span":{"file":"src/parser/parser.gr","start":[80,18],"end":[80,23],"start_byte":1574,"end_byte":1579}}}},"span":{"file":"src/parser/parser.gr","start":[80,17],"end":[80,24],"start_byte":1573,"end_byte":1580}}},"assoc":{"Node":{"nonterminal":24,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[80,2],"end":[80,7],"start_byte":1558,"end_byte":1563}}},"elements":{"Node":{"nonterminal":25,"attributes":{"value":{"Node":{"nonterminal":27,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":26,"attributes":{"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}},"head":{"Node":{"nonterminal":11,"attributes":{"item":{"Node":{"nonterminal":14,"attributes":{"variant":{"Literal":{"value":{"Str":"Regular"},"span":null}},"name":{"Literal":{"value":{"Str":"STRING"},"span":{"file":"src/parser/parser.gr","start":[80,2],"end":[80,7],"start_byte":1558,"end_byte":1563}}}},"span":{"file":"src/parser/parser.gr","start":[80,2],"end":[80,7],"start_byte":1558,"end_byte":1563}}},"attribute":{"Node":{"nonterminal":22,"attributes":{"value":{"Node":{"nonterminal":12,"attributes":{"attribute":{"Literal":{"value":{"Str":"0"},"span":{"file":"src/parser/parser.gr","start":[80,9],"end":[80,9],"start_byte":1565,"end_byte":1565}}},"variant":{"Literal":{"value":{"Str":"Indexed"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[80,8],"end":[80,9],"start_byte":1564,"end_byte":1565}}},"variant":{"Literal":{"value":{"Str":"Some"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[80,8],"end":[80,9],"start_byte":1564,"end_byte":1565}}},"key":{"Node":{"nonterminal":23,"attributes":{"value":{"Node":{"nonterminal":13,"attributes":{"key":{"Literal":{"value":{"Str":"value"},"span":{"file":"src/parser/parser.gr","start":[80,11],"end":[80,15],"start_byte":1567,"end_byte":1571}}}},"span":{"file":"src/parser/parser.gr","start":[80,10],"end":[80,15],"start_byte":1566,"end_byte":1571}}},"variant":{"Literal":{"value":{"Str":"Some"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[80,10],"end":[80,15],"start_byte":1566,"end_byte":1571}}}},"span":{"file":"src/parser/parser.gr","start":[80,2],"end":[80,15],"start_byte":1558,"end_byte":1571}}}},"span":{"file":"src/parser/parser.gr","start":[80,2],"end":[80,15],"start_byte":1558,"end_byte":1571}}}},"span":{"file":"src/parser/parser.gr","start":[80,2],"end":[80,15],"start_byte":1558,"end_byte":1571}}}},"span":{"file":"src/parser/parser.gr","start":[80,2],"end":[80,15],"start_byte":1558,"end_byte":1571}}}},"span":{"file":"src/parser/parser.gr","start":[80,2],"end":[80,24],"start_byte":1558,"end_byte":1580}}},"tail":{"Node":{"nonterminal":32,"attributes":{"tail":{"Node":{"nonterminal":32,"attributes":{"head":{"Node":{"nonterminal":6,"attributes":{"assoc":{"Node":{"nonterminal":24,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[82,2],"end":[82,3],"start_byte":1601,"end_byte":1602}}},"elements":{"Node":{"nonterminal":25,"attributes":{"value":{"Node":{"nonterminal":27,"attributes":{"value":{"Node":{"nonterminal":26,"attributes":{"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}},"head":{"Node":{"nonterminal":11,"attributes":{"key":{"Node":{"nonterminal":23,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":13,"attributes":{"key":{"Literal":{"value":{"Str":"name"},"span":{"file":"src/parser/parser.gr","start":[82,7],"end":[82,10],"start_byte":1606,"end_byte":1609}}}},"span":{"file":"src/parser/parser.gr","start":[82,6],"end":[82,10],"start_byte":1605,"end_byte":1609}}}},"span":{"file":"src/parser/parser.gr","start":[82,6],"end":[82,10],"start_byte":1605,"end_byte":1609}}},"item":{"Node":{"nonterminal":14,"attributes":{"name":{"Literal":{"value":{"Str":"ID"},"span":{"file":"src/parser/parser.gr","start":[82,2],"end":[82,3],"start_byte":1601,"end_byte":1602}}},"variant":{"Literal":{"value":{"Str":"Regular"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[82,2],"end":[82,3],"start_byte":1601,"end_byte":1602}}},"attribute":{"Node":{"nonterminal":22,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":12,"attributes":{"attribute":{"Literal":{"value":{"Str":"0"},"span":{"file":"src/parser/parser.gr","start":[82,5],"end":[82,5],"start_byte":1604,"end_byte":1604}}},"variant":{"Literal":{"value":{"Str":"Indexed"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[82,4],"end":[82,5],"start_byte":1603,"end_byte":1604}}}},"span":{"file":"src/parser/parser.gr","start":[82,4],"end":[82,5],"start_byte":1603,"end_byte":1604}}}},"span":{"file":"src/parser/parser.gr","start":[82,2],"end":[82,10],"start_byte":1601,"end_byte":1609}}},"tail":{"Node":{"nonterminal":26,"attributes":{"head":{"Node":{"nonterminal":11,"attributes":{"item":{"Node":{"nonterminal":14,"attributes":{"name":{"Literal":{"value":{"Str":"LBRACE"},"span":{"file":"src/parser/parser.gr","start":[82,12],"end":[82,17],"start_byte":1611,"end_byte":1616}}},"variant":{"Literal":{"value":{"Str":"Regular"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[82,12],"end":[82,17],"start_byte":1611,"end_byte":1616}}},"key":{"Node":{"nonterminal":23,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[82,19],"end":[82,22],"start_byte":1618,"end_byte":1621}}},"attribute":{"Node":{"nonterminal":22,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[82,19],"end":[82,22],"start_byte":1618,"end_byte":1621}}}},"span":{"file":"src/parser/parser.gr","start":[82,12],"end":[82,17],"start_byte":1611,"end_byte":1616}}},"tail":{"Node":{"nonterminal":26,"attributes":{"tail":{"Node":{"nonterminal":26,"attributes":{"head":{"Node":{"nonterminal":11,"attributes":{"key":{"Node":{"nonterminal":23,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[82,58],"end":[82,58],"start_byte":1657,"end_byte":1657}}},"attribute":{"Node":{"nonterminal":22,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[82,58],"end":[82,58],"start_byte":1657,"end_byte":1657}}},"item":{"Node":{"nonterminal":14,"attributes":{"name":{"Literal":{"value":{"Str":"RBRACE"},"span":{"file":"src/parser/parser.gr","start":[82,51],"end":[82,56],"start_byte":1650,"end_byte":1655}}},"variant":{"Literal":{"value":{"Str":"Regular"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[82,51],"end":[82,56],"start_byte":1650,"end_byte":1655}}}},"span":{"file":"src/parser/parser.gr","start":[82,51],"end":[82,56],"start_byte":1650,"end_byte":1655}}},"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[82,51],"end":[82,56],"start_byte":1650,"end_byte":1655}}},"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}},"head":{"Node":{"nonterminal":11,"attributes":{"attribute":{"Node":{"nonterminal":22,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[82,41],"end":[82,41],"start_byte":1640,"end_byte":1640}}},"item":{"Node":{"nonterminal":14,"attributes":{"variant":{"Literal":{"value":{"Str":"MacroInvocation"},"span":null}},"args":{"Node":{"nonterminal":19,"attributes":{"value":{"Node":{"nonterminal":21,"attributes":{"value":{"Node":{"nonterminal":20,"attributes":{"tail":{"Node":{"nonterminal":20,"attributes":{"head":{"Node":{"nonterminal":14,"attributes":{"name":{"Literal":{"value":{"Str":"COMMA"},"span":{"file":"src/parser/parser.gr","start":[82,35],"end":[82,39],"start_byte":1634,"end_byte":1638}}},"variant":{"Literal":{"value":{"Str":"Regular"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[82,35],"end":[82,39],"start_byte":1634,"end_byte":1638}}},"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[82,35],"end":[82,39],"start_byte":1634,"end_byte":1638}}},"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}},"head":{"Node":{"nonterminal":14,"attributes":{"name":{"Literal":{"value":{"Str":"ProxyItem"},"span":{"file":"src/parser/parser.gr","start":[82,24],"end":[82,32],"start_byte":1623,"end_byte":1631}}},"variant":{"Literal":{"value":{"Str":"Regular"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[82,24],"end":[82,32],"start_byte":1623,"end_byte":1631}}}},"span":{"file":"src/parser/parser.gr","start":[82,24],"end":[82,39],"start_byte":1623,"end_byte":1638}}},"variant":{"Literal":{"value":{"Str":"Some"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[82,24],"end":[82,39],"start_byte":1623,"end_byte":1638}}}},"span":{"file":"src/parser/parser.gr","start":[82,24],"end":[82,39],"start_byte":1623,"end_byte":1638}}},"name":{"Literal":{"value":{"Str":"List"},"span":{"file":"src/parser/parser.gr","start":[82,19],"end":[82,22],"start_byte":1618,"end_byte":1621}}}},"span":{"file":"src/parser/parser.gr","start":[82,19],"end":[82,40],"start_byte":1618,"end_byte":1639}}},"key":{"Node":{"nonterminal":23,"attributes":{"value":{"Node":{"nonterminal":13,"attributes":{"key":{"Literal":{"value":{"Str":"children"},"span":{"file":"src/parser/parser.gr","start":[82,42],"end":[82,49],"start_byte":1641,"end_byte":1648}}}},"span":{"file":"src/parser/parser.gr","start":[82,41],"end":[82,49],"start_byte":1640,"end_byte":1648}}},"variant":{"Literal":{"value":{"Str":"Some"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[82,41],"end":[82,49],"start_byte":1640,"end_byte":1648}}}},"span":{"file":"src/parser/parser.gr","start":[82,19],"end":[82,49],"start_byte":1618,"end_byte":1648}}}},"span":{"file":"src/parser/parser.gr","start":[82,19],"end":[82,56],"start_byte":1618,"end_byte":1655}}},"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[82,12],"end":[82,56],"start_byte":1611,"end_byte":1655}}}},"span":{"file":"src/parser/parser.gr","start":[82,2],"end":[82,56],"start_byte":1601,"end_byte":1655}}},"variant":{"Literal":{"value":{"Str":"Some"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[82,2],"end":[82,56],"start_byte":1601,"end_byte":1655}}}},"span":{"file":"src/parser/parser.gr","start":[82,2],"end":[82,56],"start_byte":1601,"end_byte":1655}}},"proxy":{"Node":{"nonterminal":8,"attributes":{"through":{"Node":{"nonterminal":16,"attributes":{"value":{"Node":{"nonterminal":18,"attributes":{"value":{"Node":{"nonterminal":17,"attributes":{"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}},"head":{"Node":{"nonterminal":9,"attributes":{"variant":{"Literal":{"value":{"Str":"Variant"},"span":null}},"var":{"Literal":{"value":{"Str":"Instanciation"},"span":{"file":"src/parser/parser.gr","start":[82,59],"end":[82,71],"start_byte":1658,"end_byte":1670}}}},"span":{"file":"src/parser/parser.gr","start":[82,59],"end":[82,71],"start_byte":1658,"end_byte":1670}}}},"span":{"file":"src/parser/parser.gr","start":[82,59],"end":[82,71],"start_byte":1658,"end_byte":1670}}},"variant":{"Literal":{"value":{"Str":"Some"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[82,59],"end":[82,71],"start_byte":1658,"end_byte":1670}}}},"span":{"file":"src/parser/parser.gr","start":[82,59],"end":[82,71],"start_byte":1658,"end_byte":1670}}}},"span":{"file":"src/parser/parser.gr","start":[82,58],"end":[82,72],"start_byte":1657,"end_byte":1671}}}},"span":{"file":"src/parser/parser.gr","start":[82,2],"end":[82,72],"start_byte":1601,"end_byte":1671}}},"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[82,2],"end":[82,72],"start_byte":1601,"end_byte":1671}}},"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}},"head":{"Node":{"nonterminal":6,"attributes":{"assoc":{"Node":{"nonterminal":24,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[81,2],"end":[81,3],"start_byte":1584,"end_byte":1585}}},"elements":{"Node":{"nonterminal":25,"attributes":{"value":{"Node":{"nonterminal":27,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":26,"attributes":{"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}},"head":{"Node":{"nonterminal":11,"attributes":{"item":{"Node":{"nonterminal":14,"attributes":{"name":{"Literal":{"value":{"Str":"ID"},"span":{"file":"src/parser/parser.gr","start":[81,2],"end":[81,3],"start_byte":1584,"end_byte":1585}}},"variant":{"Literal":{"value":{"Str":"Regular"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[81,2],"end":[81,3],"start_byte":1584,"end_byte":1585}}},"attribute":{"Node":{"nonterminal":22,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":12,"attributes":{"attribute":{"Literal":{"value":{"Str":"0"},"span":{"file":"src/parser/parser.gr","start":[81,5],"end":[81,5],"start_byte":1587,"end_byte":1587}}},"variant":{"Literal":{"value":{"Str":"Indexed"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[81,4],"end":[81,5],"start_byte":1586,"end_byte":1587}}}},"span":{"file":"src/parser/parser.gr","start":[81,4],"end":[81,5],"start_byte":1586,"end_byte":1587}}},"key":{"Node":{"nonterminal":23,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":13,"attributes":{"key":{"Literal":{"value":{"Str":"name"},"span":{"file":"src/parser/parser.gr","start":[81,7],"end":[81,10],"start_byte":1589,"end_byte":1592}}}},"span":{"file":"src/parser/parser.gr","start":[81,6],"end":[81,10],"start_byte":1588,"end_byte":1592}}}},"span":{"file":"src/parser/parser.gr","start":[81,6],"end":[81,10],"start_byte":1588,"end_byte":1592}}}},"span":{"file":"src/parser/parser.gr","start":[81,2],"end":[81,10],"start_byte":1584,"end_byte":1592}}}},"span":{"file":"src/parser/parser.gr","start":[81,2],"end":[81,10],"start_byte":1584,"end_byte":1592}}}},"span":{"file":"src/parser/parser.gr","start":[81,2],"end":[81,10],"start_byte":1584,"end_byte":1592}}}},"span":{"file":"src/parser/parser.gr","start":[81,2],"end":[81,10],"start_byte":1584,"end_byte":1592}}},"proxy":{"Node":{"nonterminal":8,"attributes":{"through":{"Node":{"nonterminal":16,"attributes":{"value":{"Node":{"nonterminal":18,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":17,"attributes":{"head":{"Node":{"nonterminal":9,"attributes":{"variant":{"Literal":{"value":{"Str":"Variant"},"span":null}},"var":{"Literal":{"value":{"Str":"Id"},"span":{"file":"src/parser/parser.gr","start":[81,13],"end":[81,14],"start_byte":1595,"end_byte":1596}}}},"span":{"file":"src/parser/parser.gr","start":[81,13],"end":[81,14],"start_byte":1595,"end_byte":1596}}},"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[81,13],"end":[81,14],"start_byte":1595,"end_byte":1596}}}},"span":{"file":"src/parser/parser.gr","start":[81,13],"end":[81,14],"start_byte":1595,"end_byte":1596}}}},"span":{"file":"src/parser/parser.gr","start":[81,13],"end":[81,14],"start_byte":1595,"end_byte":1596}}}},"span":{"file":"src/parser/parser.gr","start":[81,12],"end":[81,15],"start_byte":1594,"end_byte":1597}}}},"span":{"file":"src/parser/parser.gr","start":[81,2],"end":[81,15],"start_byte":1584,"end_byte":1597}}}},"span":{"file":"src/parser/parser.gr","start":[81,2],"end":[82,72],"start_byte":1584,"end_byte":1671}}}},"span":{"file":"src/parser/parser.gr","start":[80,2],"end":[82,72],"start_byte":1558,"end_byte":1671}}}},"span":{"file":"src/parser/parser.gr","start":[80,2],"end":[82,72],"start_byte":1558,"end_byte":1671}}}},"span":{"file":"src/parser/parser.gr","start":[80,2],"end":[82,72],"start_byte":1558,"end_byte":1671}}},"axiom":{"Node":{"nonterminal":35,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[79,0],"end":[79,9],"start_byte":1541,"end_byte":1550}}},"name":{"Literal":{"value":{"Str":"Expression"},"span":{"file":"src/parser/parser.gr","start":[79,0],"end":[79,9],"start_byte":1541,"end_byte":1550}}}},"span":{"file":"src/parser/parser.gr","start":[78,0],"end":[82,73],"start_byte":1525,"end_byte":1672}}},"variant":{"Literal":{"value":{"Str":"Decl"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[78,0],"end":[82,73],"start_byte":1525,"end_byte":1672}}}},"span":{"file":"src/parser/parser.gr","start":[78,0],"end":[82,73],"start_byte":1525,"end_byte":1672}}},"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[72,0],"end":[82,73],"start_byte":1386,"end_byte":1672}}},"head":{"Node":{"nonterminal":2,"attributes":{"decl":{"Node":{"nonterminal":3,"attributes":{"comment":{"Node":{"nonterminal":34,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":4,"attributes":{"through":{"Literal":{"value":{"Str":"a key"},"span":{"file":"src/parser/parser.gr","start":[68,0],"end":[68,6],"start_byte":1351,"end_byte":1357}}}},"span":{"file":"src/parser/parser.gr","start":[68,0],"end":[68,6],"start_byte":1351,"end_byte":1357}}}},"span":{"file":"src/parser/parser.gr","start":[68,0],"end":[68,6],"start_byte":1351,"end_byte":1357}}},"name":{"Literal":{"value":{"Str":"Key"},"span":{"file":"src/parser/parser.gr","start":[69,0],"end":[69,2],"start_byte":1359,"end_byte":1361}}},"axiom":{"Node":{"nonterminal":35,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[69,0],"end":[69,2],"start_byte":1359,"end_byte":1361}}},"rules":{"Node":{"nonterminal":31,"attributes":{"value":{"Node":{"nonterminal":33,"attributes":{"value":{"Node":{"nonterminal":32,"attributes":{"head":{"Node":{"nonterminal":6,"attributes":{"elements":{"Node":{"nonterminal":25,"attributes":{"value":{"Node":{"nonterminal":27,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":26,"attributes":{"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}},"tail":{"Node":{"nonterminal":26,"attributes":{"head":{"Node":{"nonterminal":11,"attributes":{"key":{"Node":{"nonterminal":23,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":13,"attributes":{"key":{"Literal":{"value":{"Str":"key"},"span":{"file":"src/parser/parser.gr","start":[70,10],"end":[70,12],"start_byte":1377,"end_byte":1379}}}},"span":{"file":"src/parser/parser.gr","start":[70,9],"end":[70,12],"start_byte":1376,"end_byte":1379}}}},"span":{"file":"src/parser/parser.gr","start":[70,9],"end":[70,12],"start_byte":1376,"end_byte":1379}}},"item":{"Node":{"nonterminal":14,"attributes":{"variant":{"Literal":{"value":{"Str":"Regular"},"span":null}},"name":{"Literal":{"value":{"Str":"ID"},"span":{"file":"src/parser/parser.gr","start":[70,5],"end":[70,6],"start_byte":1372,"end_byte":1373}}}},"span":{"file":"src/parser/parser.gr","start":[70,5],"end":[70,6],"start_byte":1372,"end_byte":1373}}},"attribute":{"Node":{"nonterminal":22,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":12,"attributes":{"variant":{"Literal":{"value":{"Str":"Indexed"},"span":null}},"attribute":{"Literal":{"value":{"Str":"0"},"span":{"file":"src/parser/parser.gr","start":[70,8],"end":[70,8],"start_byte":1375,"end_byte":1375}}}},"span":{"file":"src/parser/parser.gr","start":[70,7],"end":[70,8],"start_byte":1374,"end_byte":1375}}}},"span":{"file":"src/parser/parser.gr","start":[70,7],"end":[70,8],"start_byte":1374,"end_byte":1375}}}},"span":{"file":"src/parser/parser.gr","start":[70,5],"end":[70,12],"start_byte":1372,"end_byte":1379}}},"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[70,5],"end":[70,12],"start_byte":1372,"end_byte":1379}}},"head":{"Node":{"nonterminal":11,"attributes":{"key":{"Node":{"nonterminal":23,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[70,5],"end":[70,6],"start_byte":1372,"end_byte":1373}}},"item":{"Node":{"nonterminal":14,"attributes":{"name":{"Literal":{"value":{"Str":"AT"},"span":{"file":"src/parser/parser.gr","start":[70,2],"end":[70,3],"start_byte":1369,"end_byte":1370}}},"variant":{"Literal":{"value":{"Str":"Regular"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[70,2],"end":[70,3],"start_byte":1369,"end_byte":1370}}},"attribute":{"Node":{"nonterminal":22,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[70,5],"end":[70,6],"start_byte":1372,"end_byte":1373}}}},"span":{"file":"src/parser/parser.gr","start":[70,2],"end":[70,3],"start_byte":1369,"end_byte":1370}}}},"span":{"file":"src/parser/parser.gr","start":[70,2],"end":[70,12],"start_byte":1369,"end_byte":1379}}}},"span":{"file":"src/parser/parser.gr","start":[70,2],"end":[70,12],"start_byte":1369,"end_byte":1379}}}},"span":{"file":"src/parser/parser.gr","start":[70,2],"end":[70,12],"start_byte":1369,"end_byte":1379}}},"proxy":{"Node":{"nonterminal":8,"attributes":{"through":{"Node":{"nonterminal":16,"attributes":{"value":{"Node":{"nonterminal":18,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[70,15],"end":[70,15],"start_byte":1382,"end_byte":1382}}}},"span":{"file":"src/parser/parser.gr","start":[70,15],"end":[70,15],"start_byte":1382,"end_byte":1382}}}},"span":{"file":"src/parser/parser.gr","start":[70,14],"end":[70,15],"start_byte":1381,"end_byte":1382}}},"assoc":{"Node":{"nonterminal":24,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[70,2],"end":[70,3],"start_byte":1369,"end_byte":1370}}}},"span":{"file":"src/parser/parser.gr","start":[70,2],"end":[70,15],"start_byte":1369,"end_byte":1382}}},"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[70,2],"end":[70,15],"start_byte":1369,"end_byte":1382}}},"variant":{"Literal":{"value":{"Str":"Some"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[70,2],"end":[70,15],"start_byte":1369,"end_byte":1382}}}},"span":{"file":"src/parser/parser.gr","start":[70,2],"end":[70,15],"start_byte":1369,"end_byte":1382}}}},"span":{"file":"src/parser/parser.gr","start":[68,0],"end":[70,16],"start_byte":1351,"end_byte":1383}}},"variant":{"Literal":{"value":{"Str":"Decl"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[68,0],"end":[70,16],"start_byte":1351,"end_byte":1383}}}},"span":{"file":"src/parser/parser.gr","start":[68,0],"end":[82,73],"start_byte":1351,"end_byte":1672}}},"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[63,0],"end":[82,73],"start_byte":1259,"end_byte":1672}}},"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}},"head":{"Node":{"nonterminal":2,"attributes":{"variant":{"Literal":{"value":{"Str":"Decl"},"span":null}},"decl":{"Node":{"nonterminal":3,"attributes":{"rules":{"Node":{"nonterminal":31,"attributes":{"value":{"Node":{"nonterminal":33,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":32,"attributes":{"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}},"head":{"Node":{"nonterminal":6,"attributes":{"assoc":{"Node":{"nonterminal":24,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[61,2],"end":[61,5],"start_byte":1200,"end_byte":1203}}},"proxy":{"Node":{"nonterminal":8,"attributes":{"through":{"Node":{"nonterminal":16,"attributes":{"value":{"Node":{"nonterminal":18,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[61,57],"end":[61,57],"start_byte":1255,"end_byte":1255}}}},"span":{"file":"src/parser/parser.gr","start":[61,57],"end":[61,57],"start_byte":1255,"end_byte":1255}}}},"span":{"file":"src/parser/parser.gr","start":[61,56],"end":[61,57],"start_byte":1254,"end_byte":1255}}},"elements":{"Node":{"nonterminal":25,"attributes":{"value":{"Node":{"nonterminal":27,"attributes":{"value":{"Node":{"nonterminal":26,"attributes":{"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}},"tail":{"Node":{"nonterminal":26,"attributes":{"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}},"tail":{"Node":{"nonterminal":26,"attributes":{"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}},"head":{"Node":{"nonterminal":11,"attributes":{"key":{"Node":{"nonterminal":23,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":13,"attributes":{"key":{"Literal":{"value":{"Str":"key"},"span":{"file":"src/parser/parser.gr","start":[61,52],"end":[61,54],"start_byte":1250,"end_byte":1252}}}},"span":{"file":"src/parser/parser.gr","start":[61,51],"end":[61,54],"start_byte":1249,"end_byte":1252}}}},"span":{"file":"src/parser/parser.gr","start":[61,51],"end":[61,54],"start_byte":1249,"end_byte":1252}}},"attribute":{"Node":{"nonterminal":22,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[61,51],"end":[61,51],"start_byte":1249,"end_byte":1249}}},"item":{"Node":{"nonterminal":14,"attributes":{"name":{"Literal":{"value":{"Str":"Option"},"span":{"file":"src/parser/parser.gr","start":[61,40],"end":[61,45],"start_byte":1238,"end_byte":1243}}},"variant":{"Literal":{"value":{"Str":"MacroInvocation"},"span":null}},"args":{"Node":{"nonterminal":19,"attributes":{"value":{"Node":{"nonterminal":21,"attributes":{"value":{"Node":{"nonterminal":20,"attributes":{"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}},"head":{"Node":{"nonterminal":14,"attributes":{"name":{"Literal":{"value":{"Str":"Key"},"span":{"file":"src/parser/parser.gr","start":[61,47],"end":[61,49],"start_byte":1245,"end_byte":1247}}},"variant":{"Literal":{"value":{"Str":"Regular"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[61,47],"end":[61,49],"start_byte":1245,"end_byte":1247}}}},"span":{"file":"src/parser/parser.gr","start":[61,47],"end":[61,49],"start_byte":1245,"end_byte":1247}}},"variant":{"Literal":{"value":{"Str":"Some"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[61,47],"end":[61,49],"start_byte":1245,"end_byte":1247}}}},"span":{"file":"src/parser/parser.gr","start":[61,47],"end":[61,49],"start_byte":1245,"end_byte":1247}}}},"span":{"file":"src/parser/parser.gr","start":[61,40],"end":[61,50],"start_byte":1238,"end_byte":1248}}}},"span":{"file":"src/parser/parser.gr","start":[61,40],"end":[61,54],"start_byte":1238,"end_byte":1252}}}},"span":{"file":"src/parser/parser.gr","start":[61,40],"end":[61,54],"start_byte":1238,"end_byte":1252}}},"head":{"Node":{"nonterminal":11,"attributes":{"item":{"Node":{"nonterminal":14,"attributes":{"args":{"Node":{"nonterminal":19,"attributes":{"value":{"Node":{"nonterminal":21,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":20,"attributes":{"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}},"head":{"Node":{"nonterminal":14,"attributes":{"variant":{"Literal":{"value":{"Str":"Regular"},"span":null}},"name":{"Literal":{"value":{"Str":"Attribute"},"span":{"file":"src/parser/parser.gr","start":[61,19],"end":[61,27],"start_byte":1217,"end_byte":1225}}}},"span":{"file":"src/parser/parser.gr","start":[61,19],"end":[61,27],"start_byte":1217,"end_byte":1225}}}},"span":{"file":"src/parser/parser.gr","start":[61,19],"end":[61,27],"start_byte":1217,"end_byte":1225}}}},"span":{"file":"src/parser/parser.gr","start":[61,19],"end":[61,27],"start_byte":1217,"end_byte":1225}}}},"span":{"file":"src/parser/parser.gr","start":[61,19],"end":[61,27],"start_byte":1217,"end_byte":1225}}},"variant":{"Literal":{"value":{"Str":"MacroInvocation"},"span":null}},"name":{"Literal":{"value":{"Str":"Option"},"span":{"file":"src/parser/parser.gr","start":[61,12],"end":[61,17],"start_byte":1210,"end_byte":1215}}}},"span":{"file":"src/parser/parser.gr","start":[61,12],"end":[61,28],"start_byte":1210,"end_byte":1226}}},"key":{"Node":{"nonterminal":23,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":13,"attributes":{"key":{"Literal":{"value":{"Str":"attribute"},"span":{"file":"src/parser/parser.gr","start":[61,30],"end":[61,38],"start_byte":1228,"end_byte":1236}}}},"span":{"file":"src/parser/parser.gr","start":[61,29],"end":[61,38],"start_byte":1227,"end_byte":1236}}}},"span":{"file":"src/parser/parser.gr","start":[61,29],"end":[61,38],"start_byte":1227,"end_byte":1236}}},"attribute":{"Node":{"nonterminal":22,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[61,29],"end":[61,29],"start_byte":1227,"end_byte":1227}}}},"span":{"file":"src/parser/parser.gr","start":[61,12],"end":[61,38],"start_byte":1210,"end_byte":1236}}}},"span":{"file":"src/parser/parser.gr","start":[61,12],"end":[61,54],"start_byte":1210,"end_byte":1252}}},"head":{"Node":{"nonterminal":11,"attributes":{"item":{"Node":{"nonterminal":14,"attributes":{"variant":{"Literal":{"value":{"Str":"Regular"},"span":null}},"name":{"Literal":{"value":{"Str":"Item"},"span":{"file":"src/parser/parser.gr","start":[61,2],"end":[61,5],"start_byte":1200,"end_byte":1203}}}},"span":{"file":"src/parser/parser.gr","start":[61,2],"end":[61,5],"start_byte":1200,"end_byte":1203}}},"attribute":{"Node":{"nonterminal":22,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[61,6],"end":[61,6],"start_byte":1204,"end_byte":1204}}},"key":{"Node":{"nonterminal":23,"attributes":{"value":{"Node":{"nonterminal":13,"attributes":{"key":{"Literal":{"value":{"Str":"item"},"span":{"file":"src/parser/parser.gr","start":[61,7],"end":[61,10],"start_byte":1205,"end_byte":1208}}}},"span":{"file":"src/parser/parser.gr","start":[61,6],"end":[61,10],"start_byte":1204,"end_byte":1208}}},"variant":{"Literal":{"value":{"Str":"Some"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[61,6],"end":[61,10],"start_byte":1204,"end_byte":1208}}}},"span":{"file":"src/parser/parser.gr","start":[61,2],"end":[61,10],"start_byte":1200,"end_byte":1208}}}},"span":{"file":"src/parser/parser.gr","start":[61,2],"end":[61,54],"start_byte":1200,"end_byte":1252}}},"variant":{"Literal":{"value":{"Str":"Some"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[61,2],"end":[61,54],"start_byte":1200,"end_byte":1252}}}},"span":{"file":"src/parser/parser.gr","start":[61,2],"end":[61,54],"start_byte":1200,"end_byte":1252}}}},"span":{"file":"src/parser/parser.gr","start":[61,2],"end":[61,57],"start_byte":1200,"end_byte":1255}}}},"span":{"file":"src/parser/parser.gr","start":[61,2],"end":[61,57],"start_byte":1200,"end_byte":1255}}}},"span":{"file":"src/parser/parser.gr","start":[61,2],"end":[61,57],"start_byte":1200,"end_byte":1255}}}},"span":{"file":"src/parser/parser.gr","start":[61,2],"end":[61,57],"start_byte":1200,"end_byte":1255}}},"axiom":{"Node":{"nonterminal":35,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[60,0],"end":[60,6],"start_byte":1186,"end_byte":1192}}},"comment":{"Node":{"nonterminal":34,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":4,"attributes":{"through":{"Literal":{"value":{"Str":"an element"},"span":{"file":"src/parser/parser.gr","start":[59,0],"end":[59,11],"start_byte":1173,"end_byte":1184}}}},"span":{"file":"src/parser/parser.gr","start":[59,0],"end":[59,11],"start_byte":1173,"end_byte":1184}}}},"span":{"file":"src/parser/parser.gr","start":[59,0],"end":[59,11],"start_byte":1173,"end_byte":1184}}},"name":{"Literal":{"value":{"Str":"Element"},"span":{"file":"src/parser/parser.gr","start":[60,0],"end":[60,6],"start_byte":1186,"end_byte":1192}}}},"span":{"file":"src/parser/parser.gr","start":[59,0],"end":[61,58],"start_byte":1173,"end_byte":1256}}}},"span":{"file":"src/parser/parser.gr","start":[59,0],"end":[61,58],"start_byte":1173,"end_byte":1256}}}},"span":{"file":"src/parser/parser.gr","start":[59,0],"end":[82,73],"start_byte":1173,"end_byte":1672}}},"head":{"Node":{"nonterminal":2,"attributes":{"decl":{"Node":{"nonterminal":3,"attributes":{"name":{"Literal":{"value":{"Str":"FormalArgument"},"span":{"file":"src/parser/parser.gr","start":[56,0],"end":[56,13],"start_byte":1137,"end_byte":1150}}},"rules":{"Node":{"nonterminal":31,"attributes":{"value":{"Node":{"nonterminal":33,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":32,"attributes":{"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}},"head":{"Node":{"nonterminal":6,"attributes":{"assoc":{"Node":{"nonterminal":24,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[57,2],"end":[57,3],"start_byte":1158,"end_byte":1159}}},"elements":{"Node":{"nonterminal":25,"attributes":{"value":{"Node":{"nonterminal":27,"attributes":{"value":{"Node":{"nonterminal":26,"attributes":{"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}},"head":{"Node":{"nonterminal":11,"attributes":{"attribute":{"Node":{"nonterminal":22,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":12,"attributes":{"attribute":{"Literal":{"value":{"Str":"0"},"span":{"file":"src/parser/parser.gr","start":[57,5],"end":[57,5],"start_byte":1161,"end_byte":1161}}},"variant":{"Literal":{"value":{"Str":"Indexed"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[57,4],"end":[57,5],"start_byte":1160,"end_byte":1161}}}},"span":{"file":"src/parser/parser.gr","start":[57,4],"end":[57,5],"start_byte":1160,"end_byte":1161}}},"item":{"Node":{"nonterminal":14,"attributes":{"variant":{"Literal":{"value":{"Str":"Regular"},"span":null}},"name":{"Literal":{"value":{"Str":"ID"},"span":{"file":"src/parser/parser.gr","start":[57,2],"end":[57,3],"start_byte":1158,"end_byte":1159}}}},"span":{"file":"src/parser/parser.gr","start":[57,2],"end":[57,3],"start_byte":1158,"end_byte":1159}}},"key":{"Node":{"nonterminal":23,"attributes":{"value":{"Node":{"nonterminal":13,"attributes":{"key":{"Literal":{"value":{"Str":"name"},"span":{"file":"src/parser/parser.gr","start":[57,7],"end":[57,10],"start_byte":1163,"end_byte":1166}}}},"span":{"file":"src/parser/parser.gr","start":[57,6],"end":[57,10],"start_byte":1162,"end_byte":1166}}},"variant":{"Literal":{"value":{"Str":"Some"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[57,6],"end":[57,10],"start_byte":1162,"end_byte":1166}}}},"span":{"file":"src/parser/parser.gr","start":[57,2],"end":[57,10],"start_byte":1158,"end_byte":1166}}}},"span":{"file":"src/parser/parser.gr","start":[57,2],"end":[57,10],"start_byte":1158,"end_byte":1166}}},"variant":{"Literal":{"value":{"Str":"Some"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[57,2],"end":[57,10],"start_byte":1158,"end_byte":1166}}}},"span":{"file":"src/parser/parser.gr","start":[57,2],"end":[57,10],"start_byte":1158,"end_byte":1166}}},"proxy":{"Node":{"nonterminal":8,"attributes":{"through":{"Node":{"nonterminal":16,"attributes":{"value":{"Node":{"nonterminal":18,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[57,13],"end":[57,13],"start_byte":1169,"end_byte":1169}}}},"span":{"file":"src/parser/parser.gr","start":[57,13],"end":[57,13],"start_byte":1169,"end_byte":1169}}}},"span":{"file":"src/parser/parser.gr","start":[57,12],"end":[57,13],"start_byte":1168,"end_byte":1169}}}},"span":{"file":"src/parser/parser.gr","start":[57,2],"end":[57,13],"start_byte":1158,"end_byte":1169}}}},"span":{"file":"src/parser/parser.gr","start":[57,2],"end":[57,13],"start_byte":1158,"end_byte":1169}}}},"span":{"file":"src/parser/parser.gr","start":[57,2],"end":[57,13],"start_byte":1158,"end_byte":1169}}}},"span":{"file":"src/parser/parser.gr","start":[57,2],"end":[57,13],"start_byte":1158,"end_byte":1169}}},"axiom":{"Node":{"nonterminal":35,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[56,0],"end":[56,13],"start_byte":1137,"end_byte":1150}}},"comment":{"Node":{"nonterminal":34,"attributes":{"value":{"Node":{"nonterminal":4,"attributes":{"through":{"Literal":{"value":{"Str":"an argument"},"span":{"file":"src/parser/parser.gr","start":[55,0],"end":[55,12],"start_byte":1123,"end_byte":1135}}}},"span":{"file":"src/parser/parser.gr","start":[55,0],"end":[55,12],"start_byte":1123,"end_byte":1135}}},"variant":{"Literal":{"value":{"Str":"Some"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[55,0],"end":[55,12],"start_byte":1123,"end_byte":1135}}}},"span":{"file":"src/parser/parser.gr","start":[55,0],"end":[57,14],"start_byte":1123,"end_byte":1170}}},"variant":{"Literal":{"value":{"Str":"Decl"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[55,0],"end":[57,14],"start_byte":1123,"end_byte":1170}}},"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[55,0],"end":[82,73],"start_byte":1123,"end_byte":1672}}}},"span":{"file":"src/parser/parser.gr","start":[50,0],"end":[82,73],"start_byte":1029,"end_byte":1672}}},"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}},"head":{"Node":{"nonterminal":2,"attributes":{"decl":{"Node":{"nonterminal":3,"attributes":{"axiom":{"Node":{"nonterminal":35,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[47,0],"end":[47,4],"start_byte":967,"end_byte":971}}},"name":{"Literal":{"value":{"Str":"Proxy"},"span":{"file":"src/parser/parser.gr","start":[47,0],"end":[47,4],"start_byte":967,"end_byte":971}}},"comment":{"Node":{"nonterminal":34,"attributes":{"value":{"Node":{"nonterminal":4,"attributes":{"through":{"Literal":{"value":{"Str":"a proxy"},"span":{"file":"src/parser/parser.gr","start":[46,0],"end":[46,8],"start_byte":957,"end_byte":965}}}},"span":{"file":"src/parser/parser.gr","start":[46,0],"end":[46,8],"start_byte":957,"end_byte":965}}},"variant":{"Literal":{"value":{"Str":"Some"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[46,0],"end":[46,8],"start_byte":957,"end_byte":965}}},"rules":{"Node":{"nonterminal":31,"attributes":{"value":{"Node":{"nonterminal":33,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":32,"attributes":{"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}},"head":{"Node":{"nonterminal":6,"attributes":{"proxy":{"Node":{"nonterminal":8,"attributes":{"through":{"Node":{"nonterminal":16,"attributes":{"value":{"Node":{"nonterminal":18,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[48,48],"end":[48,48],"start_byte":1025,"end_byte":1025}}}},"span":{"file":"src/parser/parser.gr","start":[48,48],"end":[48,48],"start_byte":1025,"end_byte":1025}}}},"span":{"file":"src/parser/parser.gr","start":[48,47],"end":[48,48],"start_byte":1024,"end_byte":1025}}},"elements":{"Node":{"nonterminal":25,"attributes":{"value":{"Node":{"nonterminal":27,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":26,"attributes":{"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}},"head":{"Node":{"nonterminal":11,"attributes":{"item":{"Node":{"nonterminal":14,"attributes":{"variant":{"Literal":{"value":{"Str":"Regular"},"span":null}},"name":{"Literal":{"value":{"Str":"LPROXY"},"span":{"file":"src/parser/parser.gr","start":[48,2],"end":[48,7],"start_byte":979,"end_byte":984}}}},"span":{"file":"src/parser/parser.gr","start":[48,2],"end":[48,7],"start_byte":979,"end_byte":984}}},"attribute":{"Node":{"nonterminal":22,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[48,9],"end":[48,12],"start_byte":986,"end_byte":989}}},"key":{"Node":{"nonterminal":23,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[48,9],"end":[48,12],"start_byte":986,"end_byte":989}}}},"span":{"file":"src/parser/parser.gr","start":[48,2],"end":[48,7],"start_byte":979,"end_byte":984}}},"tail":{"Node":{"nonterminal":26,"attributes":{"head":{"Node":{"nonterminal":11,"attributes":{"key":{"Node":{"nonterminal":23,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":13,"attributes":{"key":{"Literal":{"value":{"Str":"through"},"span":{"file":"src/parser/parser.gr","start":[48,32],"end":[48,38],"start_byte":1009,"end_byte":1015}}}},"span":{"file":"src/parser/parser.gr","start":[48,31],"end":[48,38],"start_byte":1008,"end_byte":1015}}}},"span":{"file":"src/parser/parser.gr","start":[48,31],"end":[48,38],"start_byte":1008,"end_byte":1015}}},"item":{"Node":{"nonterminal":14,"attributes":{"variant":{"Literal":{"value":{"Str":"MacroInvocation"},"span":null}},"name":{"Literal":{"value":{"Str":"List"},"span":{"file":"src/parser/parser.gr","start":[48,9],"end":[48,12],"start_byte":986,"end_byte":989}}},"args":{"Node":{"nonterminal":19,"attributes":{"value":{"Node":{"nonterminal":21,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":20,"attributes":{"head":{"Node":{"nonterminal":14,"attributes":{"variant":{"Literal":{"value":{"Str":"Regular"},"span":null}},"name":{"Literal":{"value":{"Str":"ProxyItem"},"span":{"file":"src/parser/parser.gr","start":[48,14],"end":[48,22],"start_byte":991,"end_byte":999}}}},"span":{"file":"src/parser/parser.gr","start":[48,14],"end":[48,22],"start_byte":991,"end_byte":999}}},"tail":{"Node":{"nonterminal":20,"attributes":{"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}},"head":{"Node":{"nonterminal":14,"attributes":{"variant":{"Literal":{"value":{"Str":"Regular"},"span":null}},"name":{"Literal":{"value":{"Str":"COMMA"},"span":{"file":"src/parser/parser.gr","start":[48,25],"end":[48,29],"start_byte":1002,"end_byte":1006}}}},"span":{"file":"src/parser/parser.gr","start":[48,25],"end":[48,29],"start_byte":1002,"end_byte":1006}}}},"span":{"file":"src/parser/parser.gr","start":[48,25],"end":[48,29],"start_byte":1002,"end_byte":1006}}},"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[48,14],"end":[48,29],"start_byte":991,"end_byte":1006}}}},"span":{"file":"src/parser/parser.gr","start":[48,14],"end":[48,29],"start_byte":991,"end_byte":1006}}}},"span":{"file":"src/parser/parser.gr","start":[48,14],"end":[48,29],"start_byte":991,"end_byte":1006}}}},"span":{"file":"src/parser/parser.gr","start":[48,9],"end":[48,30],"start_byte":986,"end_byte":1007}}},"attribute":{"Node":{"nonterminal":22,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[48,31],"end":[48,31],"start_byte":1008,"end_byte":1008}}}},"span":{"file":"src/parser/parser.gr","start":[48,9],"end":[48,38],"start_byte":986,"end_byte":1015}}},"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}},"tail":{"Node":{"nonterminal":26,"attributes":{"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}},"head":{"Node":{"nonterminal":11,"attributes":{"item":{"Node":{"nonterminal":14,"attributes":{"variant":{"Literal":{"value":{"Str":"Regular"},"span":null}},"name":{"Literal":{"value":{"Str":"RPROXY"},"span":{"file":"src/parser/parser.gr","start":[48,40],"end":[48,45],"start_byte":1017,"end_byte":1022}}}},"span":{"file":"src/parser/parser.gr","start":[48,40],"end":[48,45],"start_byte":1017,"end_byte":1022}}},"attribute":{"Node":{"nonterminal":22,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[48,47],"end":[48,47],"start_byte":1024,"end_byte":1024}}},"key":{"Node":{"nonterminal":23,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[48,47],"end":[48,47],"start_byte":1024,"end_byte":1024}}}},"span":{"file":"src/parser/parser.gr","start":[48,40],"end":[48,45],"start_byte":1017,"end_byte":1022}}}},"span":{"file":"src/parser/parser.gr","start":[48,40],"end":[48,45],"start_byte":1017,"end_byte":1022}}}},"span":{"file":"src/parser/parser.gr","start":[48,9],"end":[48,45],"start_byte":986,"end_byte":1022}}}},"span":{"file":"src/parser/parser.gr","start":[48,2],"end":[48,45],"start_byte":979,"end_byte":1022}}}},"span":{"file":"src/parser/parser.gr","start":[48,2],"end":[48,45],"start_byte":979,"end_byte":1022}}}},"span":{"file":"src/parser/parser.gr","start":[48,2],"end":[48,45],"start_byte":979,"end_byte":1022}}},"assoc":{"Node":{"nonterminal":24,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[48,2],"end":[48,7],"start_byte":979,"end_byte":984}}}},"span":{"file":"src/parser/parser.gr","start":[48,2],"end":[48,48],"start_byte":979,"end_byte":1025}}}},"span":{"file":"src/parser/parser.gr","start":[48,2],"end":[48,48],"start_byte":979,"end_byte":1025}}}},"span":{"file":"src/parser/parser.gr","start":[48,2],"end":[48,48],"start_byte":979,"end_byte":1025}}}},"span":{"file":"src/parser/parser.gr","start":[48,2],"end":[48,48],"start_byte":979,"end_byte":1025}}}},"span":{"file":"src/parser/parser.gr","start":[46,0],"end":[48,49],"start_byte":957,"end_byte":1026}}},"variant":{"Literal":{"value":{"Str":"Decl"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[46,0],"end":[48,49],"start_byte":957,"end_byte":1026}}}},"span":{"file":"src/parser/parser.gr","start":[46,0],"end":[82,73],"start_byte":957,"end_byte":1672}}},"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[41,0],"end":[82,73],"start_byte":858,"end_byte":1672}}},"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[37,0],"end":[82,73],"start_byte":763,"end_byte":1672}}},"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}},"head":{"Node":{"nonterminal":2,"attributes":{"decl":{"Node":{"nonterminal":3,"attributes":{"rules":{"Node":{"nonterminal":31,"attributes":{"value":{"Node":{"nonterminal":33,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":32,"attributes":{"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}},"head":{"Node":{"nonterminal":6,"attributes":{"elements":{"Node":{"nonterminal":25,"attributes":{"value":{"Node":{"nonterminal":27,"attributes":{"value":{"Node":{"nonterminal":26,"attributes":{"head":{"Node":{"nonterminal":11,"attributes":{"attribute":{"Node":{"nonterminal":22,"attributes":{"value":{"Node":{"nonterminal":12,"attributes":{"variant":{"Literal":{"value":{"Str":"Indexed"},"span":null}},"attribute":{"Literal":{"value":{"Str":"0"},"span":{"file":"src/parser/parser.gr","start":[34,5],"end":[34,5],"start_byte":660,"end_byte":660}}}},"span":{"file":"src/parser/parser.gr","start":[34,4],"end":[34,5],"start_byte":659,"end_byte":660}}},"variant":{"Literal":{"value":{"Str":"Some"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[34,4],"end":[34,5],"start_byte":659,"end_byte":660}}},"key":{"Node":{"nonterminal":23,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":13,"attributes":{"key":{"Literal":{"value":{"Str":"name"},"span":{"file":"src/parser/parser.gr","start":[34,7],"end":[34,10],"start_byte":662,"end_byte":665}}}},"span":{"file":"src/parser/parser.gr","start":[34,6],"end":[34,10],"start_byte":661,"end_byte":665}}}},"span":{"file":"src/parser/parser.gr","start":[34,6],"end":[34,10],"start_byte":661,"end_byte":665}}},"item":{"Node":{"nonterminal":14,"attributes":{"variant":{"Literal":{"value":{"Str":"Regular"},"span":null}},"name":{"Literal":{"value":{"Str":"ID"},"span":{"file":"src/parser/parser.gr","start":[34,2],"end":[34,3],"start_byte":657,"end_byte":658}}}},"span":{"file":"src/parser/parser.gr","start":[34,2],"end":[34,3],"start_byte":657,"end_byte":658}}}},"span":{"file":"src/parser/parser.gr","start":[34,2],"end":[34,10],"start_byte":657,"end_byte":665}}},"tail":{"Node":{"nonterminal":26,"attributes":{"tail":{"Node":{"nonterminal":26,"attributes":{"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}},"head":{"Node":{"nonterminal":11,"attributes":{"attribute":{"Node":{"nonterminal":22,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[34,48],"end":[34,48],"start_byte":703,"end_byte":703}}},"item":{"Node":{"nonterminal":14,"attributes":{"name":{"Literal":{"value":{"Str":"List"},"span":{"file":"src/parser/parser.gr","start":[34,21],"end":[34,24],"start_byte":676,"end_byte":679}}},"args":{"Node":{"nonterminal":19,"attributes":{"value":{"Node":{"nonterminal":21,"attributes":{"value":{"Node":{"nonterminal":20,"attributes":{"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}},"head":{"Node":{"nonterminal":14,"attributes":{"name":{"Literal":{"value":{"Str":"FormalArgument"},"span":{"file":"src/parser/parser.gr","start":[34,26],"end":[34,39],"start_byte":681,"end_byte":694}}},"variant":{"Literal":{"value":{"Str":"Regular"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[34,26],"end":[34,39],"start_byte":681,"end_byte":694}}},"tail":{"Node":{"nonterminal":20,"attributes":{"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}},"head":{"Node":{"nonterminal":14,"attributes":{"name":{"Literal":{"value":{"Str":"COMMA"},"span":{"file":"src/parser/parser.gr","start":[34,42],"end":[34,46],"start_byte":697,"end_byte":701}}},"variant":{"Literal":{"value":{"Str":"Regular"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[34,42],"end":[34,46],"start_byte":697,"end_byte":701}}}},"span":{"file":"src/parser/parser.gr","start":[34,42],"end":[34,46],"start_byte":697,"end_byte":701}}}},"span":{"file":"src/parser/parser.gr","start":[34,26],"end":[34,46],"start_byte":681,"end_byte":701}}},"variant":{"Literal":{"value":{"Str":"Some"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[34,26],"end":[34,46],"start_byte":681,"end_byte":701}}}},"span":{"file":"src/parser/parser.gr","start":[34,26],"end":[34,46],"start_byte":681,"end_byte":701}}},"variant":{"Literal":{"value":{"Str":"MacroInvocation"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[34,21],"end":[34,47],"start_byte":676,"end_byte":702}}},"key":{"Node":{"nonterminal":23,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":13,"attributes":{"key":{"Literal":{"value":{"Str":"args"},"span":{"file":"src/parser/parser.gr","start":[34,49],"end":[34,52],"start_byte":704,"end_byte":707}}}},"span":{"file":"src/parser/parser.gr","start":[34,48],"end":[34,52],"start_byte":703,"end_byte":707}}}},"span":{"file":"src/parser/parser.gr","start":[34,48],"end":[34,52],"start_byte":703,"end_byte":707}}}},"span":{"file":"src/parser/parser.gr","start":[34,21],"end":[34,52],"start_byte":676,"end_byte":707}}},"tail":{"Node":{"nonterminal":26,"attributes":{"head":{"Node":{"nonterminal":11,"attributes":{"attribute":{"Node":{"nonterminal":22,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[34,63],"end":[34,65],"start_byte":718,"end_byte":720}}},"key":{"Node":{"nonterminal":23,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[34,63],"end":[34,65],"start_byte":718,"end_byte":720}}},"item":{"Node":{"nonterminal":14,"attributes":{"variant":{"Literal":{"value":{"Str":"Regular"},"span":null}},"name":{"Literal":{"value":{"Str":"RBRACKET"},"span":{"file":"src/parser/parser.gr","start":[34,54],"end":[34,61],"start_byte":709,"end_byte":716}}}},"span":{"file":"src/parser/parser.gr","start":[34,54],"end":[34,61],"start_byte":709,"end_byte":716}}}},"span":{"file":"src/parser/parser.gr","start":[34,54],"end":[34,61],"start_byte":709,"end_byte":716}}},"tail":{"Node":{"nonterminal":26,"attributes":{"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}},"head":{"Node":{"nonterminal":11,"attributes":{"key":{"Node":{"nonterminal":23,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[35,2],"end":[35,5],"start_byte":724,"end_byte":727}}},"item":{"Node":{"nonterminal":14,"attributes":{"variant":{"Literal":{"value":{"Str":"Regular"},"span":null}},"name":{"Literal":{"value":{"Str":"DEF"},"span":{"file":"src/parser/parser.gr","start":[34,63],"end":[34,65],"start_byte":718,"end_byte":720}}}},"span":{"file":"src/parser/parser.gr","start":[34,63],"end":[34,65],"start_byte":718,"end_byte":720}}},"attribute":{"Node":{"nonterminal":22,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[35,2],"end":[35,5],"start_byte":724,"end_byte":727}}}},"span":{"file":"src/parser/parser.gr","start":[34,63],"end":[34,65],"start_byte":718,"end_byte":720}}},"tail":{"Node":{"nonterminal":26,"attributes":{"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}},"tail":{"Node":{"nonterminal":26,"attributes":{"head":{"Node":{"nonterminal":11,"attributes":{"attribute":{"Node":{"nonterminal":22,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[35,36],"end":[35,36],"start_byte":758,"end_byte":758}}},"item":{"Node":{"nonterminal":14,"attributes":{"name":{"Literal":{"value":{"Str":"SEMICOLON"},"span":{"file":"src/parser/parser.gr","start":[35,26],"end":[35,34],"start_byte":748,"end_byte":756}}},"variant":{"Literal":{"value":{"Str":"Regular"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[35,26],"end":[35,34],"start_byte":748,"end_byte":756}}},"key":{"Node":{"nonterminal":23,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[35,36],"end":[35,36],"start_byte":758,"end_byte":758}}}},"span":{"file":"src/parser/parser.gr","start":[35,26],"end":[35,34],"start_byte":748,"end_byte":756}}},"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[35,26],"end":[35,34],"start_byte":748,"end_byte":756}}},"head":{"Node":{"nonterminal":11,"attributes":{"attribute":{"Node":{"nonterminal":22,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[35,19],"end":[35,19],"start_byte":741,"end_byte":741}}},"item":{"Node":{"nonterminal":14,"attributes":{"variant":{"Literal":{"value":{"Str":"MacroInvocation"},"span":null}},"name":{"Literal":{"value":{"Str":"List"},"span":{"file":"src/parser/parser.gr","start":[35,2],"end":[35,5],"start_byte":724,"end_byte":727}}},"args":{"Node":{"nonterminal":19,"attributes":{"value":{"Node":{"nonterminal":21,"attributes":{"value":{"Node":{"nonterminal":20,"attributes":{"tail":{"Node":{"nonterminal":20,"attributes":{"head":{"Node":{"nonterminal":14,"attributes":{"name":{"Literal":{"value":{"Str":"Empty"},"span":{"file":"src/parser/parser.gr","start":[35,13],"end":[35,17],"start_byte":735,"end_byte":739}}},"variant":{"Literal":{"value":{"Str":"Regular"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[35,13],"end":[35,17],"start_byte":735,"end_byte":739}}},"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[35,13],"end":[35,17],"start_byte":735,"end_byte":739}}},"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}},"head":{"Node":{"nonterminal":14,"attributes":{"variant":{"Literal":{"value":{"Str":"Regular"},"span":null}},"name":{"Literal":{"value":{"Str":"Rule"},"span":{"file":"src/parser/parser.gr","start":[35,7],"end":[35,10],"start_byte":729,"end_byte":732}}}},"span":{"file":"src/parser/parser.gr","start":[35,7],"end":[35,10],"start_byte":729,"end_byte":732}}}},"span":{"file":"src/parser/parser.gr","start":[35,7],"end":[35,17],"start_byte":729,"end_byte":739}}},"variant":{"Literal":{"value":{"Str":"Some"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[35,7],"end":[35,17],"start_byte":729,"end_byte":739}}}},"span":{"file":"src/parser/parser.gr","start":[35,7],"end":[35,17],"start_byte":729,"end_byte":739}}}},"span":{"file":"src/parser/parser.gr","start":[35,2],"end":[35,18],"start_byte":724,"end_byte":740}}},"key":{"Node":{"nonterminal":23,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":13,"attributes":{"key":{"Literal":{"value":{"Str":"rules"},"span":{"file":"src/parser/parser.gr","start":[35,20],"end":[35,24],"start_byte":742,"end_byte":746}}}},"span":{"file":"src/parser/parser.gr","start":[35,19],"end":[35,24],"start_byte":741,"end_byte":746}}}},"span":{"file":"src/parser/parser.gr","start":[35,19],"end":[35,24],"start_byte":741,"end_byte":746}}}},"span":{"file":"src/parser/parser.gr","start":[35,2],"end":[35,24],"start_byte":724,"end_byte":746}}}},"span":{"file":"src/parser/parser.gr","start":[35,2],"end":[35,34],"start_byte":724,"end_byte":756}}}},"span":{"file":"src/parser/parser.gr","start":[34,63],"end":[35,34],"start_byte":718,"end_byte":756}}},"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[34,54],"end":[35,34],"start_byte":709,"end_byte":756}}}},"span":{"file":"src/parser/parser.gr","start":[34,21],"end":[35,34],"start_byte":676,"end_byte":756}}},"head":{"Node":{"nonterminal":11,"attributes":{"item":{"Node":{"nonterminal":14,"attributes":{"variant":{"Literal":{"value":{"Str":"Regular"},"span":null}},"name":{"Literal":{"value":{"Str":"LBRACKET"},"span":{"file":"src/parser/parser.gr","start":[34,12],"end":[34,19],"start_byte":667,"end_byte":674}}}},"span":{"file":"src/parser/parser.gr","start":[34,12],"end":[34,19],"start_byte":667,"end_byte":674}}},"key":{"Node":{"nonterminal":23,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[34,21],"end":[34,24],"start_byte":676,"end_byte":679}}},"attribute":{"Node":{"nonterminal":22,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[34,21],"end":[34,24],"start_byte":676,"end_byte":679}}}},"span":{"file":"src/parser/parser.gr","start":[34,12],"end":[34,19],"start_byte":667,"end_byte":674}}},"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[34,12],"end":[35,34],"start_byte":667,"end_byte":756}}},"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[34,2],"end":[35,34],"start_byte":657,"end_byte":756}}},"variant":{"Literal":{"value":{"Str":"Some"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[34,2],"end":[35,34],"start_byte":657,"end_byte":756}}}},"span":{"file":"src/parser/parser.gr","start":[34,2],"end":[35,34],"start_byte":657,"end_byte":756}}},"proxy":{"Node":{"nonterminal":8,"attributes":{"through":{"Node":{"nonterminal":16,"attributes":{"value":{"Node":{"nonterminal":18,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[35,37],"end":[35,37],"start_byte":759,"end_byte":759}}}},"span":{"file":"src/parser/parser.gr","start":[35,37],"end":[35,37],"start_byte":759,"end_byte":759}}}},"span":{"file":"src/parser/parser.gr","start":[35,36],"end":[35,37],"start_byte":758,"end_byte":759}}},"assoc":{"Node":{"nonterminal":24,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[34,2],"end":[34,3],"start_byte":657,"end_byte":658}}}},"span":{"file":"src/parser/parser.gr","start":[34,2],"end":[35,37],"start_byte":657,"end_byte":759}}}},"span":{"file":"src/parser/parser.gr","start":[34,2],"end":[35,37],"start_byte":657,"end_byte":759}}}},"span":{"file":"src/parser/parser.gr","start":[34,2],"end":[35,37],"start_byte":657,"end_byte":759}}}},"span":{"file":"src/parser/parser.gr","start":[34,2],"end":[35,37],"start_byte":657,"end_byte":759}}},"name":{"Literal":{"value":{"Str":"MacroDecl"},"span":{"file":"src/parser/parser.gr","start":[33,0],"end":[33,8],"start_byte":641,"end_byte":649}}},"comment":{"Node":{"nonterminal":34,"attributes":{"value":{"Node":{"nonterminal":4,"attributes":{"through":{"Literal":{"value":{"Str":"a declaration"},"span":{"file":"src/parser/parser.gr","start":[32,0],"end":[32,14],"start_byte":625,"end_byte":639}}}},"span":{"file":"src/parser/parser.gr","start":[32,0],"end":[32,14],"start_byte":625,"end_byte":639}}},"variant":{"Literal":{"value":{"Str":"Some"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[32,0],"end":[32,14],"start_byte":625,"end_byte":639}}},"axiom":{"Node":{"nonterminal":35,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[33,0],"end":[33,8],"start_byte":641,"end_byte":649}}}},"span":{"file":"src/parser/parser.gr","start":[32,0],"end":[35,38],"start_byte":625,"end_byte":760}}},"variant":{"Literal":{"value":{"Str":"Decl"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[32,0],"end":[35,38],"start_byte":625,"end_byte":760}}}},"span":{"file":"src/parser/parser.gr","start":[32,0],"end":[82,73],"start_byte":625,"end_byte":1672}}}},"span":{"file":"src/parser/parser.gr","start":[28,0],"end":[82,73],"start_byte":577,"end_byte":1672}}},"head":{"Node":{"nonterminal":2,"attributes":{"variant":{"Literal":{"value":{"Str":"Decl"},"span":null}},"decl":{"Node":{"nonterminal":3,"attributes":{"rules":{"Node":{"nonterminal":31,"attributes":{"value":{"Node":{"nonterminal":33,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":32,"attributes":{"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}},"head":{"Node":{"nonterminal":6,"attributes":{"assoc":{"Node":{"nonterminal":24,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[25,2],"end":[25,7],"start_byte":481,"end_byte":486}}},"proxy":{"Node":{"nonterminal":8,"attributes":{"through":{"Node":{"nonterminal":16,"attributes":{"value":{"Node":{"nonterminal":18,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[26,37],"end":[26,37],"start_byte":573,"end_byte":573}}}},"span":{"file":"src/parser/parser.gr","start":[26,37],"end":[26,37],"start_byte":573,"end_byte":573}}}},"span":{"file":"src/parser/parser.gr","start":[26,36],"end":[26,37],"start_byte":572,"end_byte":573}}},"elements":{"Node":{"nonterminal":25,"attributes":{"value":{"Node":{"nonterminal":27,"attributes":{"value":{"Node":{"nonterminal":26,"attributes":{"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}},"head":{"Node":{"nonterminal":11,"attributes":{"item":{"Node":{"nonterminal":14,"attributes":{"args":{"Node":{"nonterminal":19,"attributes":{"value":{"Node":{"nonterminal":21,"attributes":{"value":{"Node":{"nonterminal":20,"attributes":{"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}},"head":{"Node":{"nonterminal":14,"attributes":{"name":{"Literal":{"value":{"Str":"Comment"},"span":{"file":"src/parser/parser.gr","start":[25,9],"end":[25,15],"start_byte":488,"end_byte":494}}},"variant":{"Literal":{"value":{"Str":"Regular"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[25,9],"end":[25,15],"start_byte":488,"end_byte":494}}}},"span":{"file":"src/parser/parser.gr","start":[25,9],"end":[25,15],"start_byte":488,"end_byte":494}}},"variant":{"Literal":{"value":{"Str":"Some"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[25,9],"end":[25,15],"start_byte":488,"end_byte":494}}}},"span":{"file":"src/parser/parser.gr","start":[25,9],"end":[25,15],"start_byte":488,"end_byte":494}}},"variant":{"Literal":{"value":{"Str":"MacroInvocation"},"span":null}},"name":{"Literal":{"value":{"Str":"Option"},"span":{"file":"src/parser/parser.gr","start":[25,2],"end":[25,7],"start_byte":481,"end_byte":486}}}},"span":{"file":"src/parser/parser.gr","start":[25,2],"end":[25,16],"start_byte":481,"end_byte":495}}},"attribute":{"Node":{"nonterminal":22,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[25,17],"end":[25,17],"start_byte":496,"end_byte":496}}},"key":{"Node":{"nonterminal":23,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":13,"attributes":{"key":{"Literal":{"value":{"Str":"comment"},"span":{"file":"src/parser/parser.gr","start":[25,18],"end":[25,24],"start_byte":497,"end_byte":503}}}},"span":{"file":"src/parser/parser.gr","start":[25,17],"end":[25,24],"start_byte":496,"end_byte":503}}}},"span":{"file":"src/parser/parser.gr","start":[25,17],"end":[25,24],"start_byte":496,"end_byte":503}}}},"span":{"file":"src/parser/parser.gr","start":[25,2],"end":[25,24],"start_byte":481,"end_byte":503}}},"tail":{"Node":{"nonterminal":26,"attributes":{"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}},"head":{"Node":{"nonterminal":11,"attributes":{"attribute":{"Node":{"nonterminal":22,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[25,36],"end":[25,36],"start_byte":515,"end_byte":515}}},"key":{"Node":{"nonterminal":23,"attributes":{"value":{"Node":{"nonterminal":13,"attributes":{"key":{"Literal":{"value":{"Str":"axiom"},"span":{"file":"src/parser/parser.gr","start":[25,37],"end":[25,41],"start_byte":516,"end_byte":520}}}},"span":{"file":"src/parser/parser.gr","start":[25,36],"end":[25,41],"start_byte":515,"end_byte":520}}},"variant":{"Literal":{"value":{"Str":"Some"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[25,36],"end":[25,41],"start_byte":515,"end_byte":520}}},"item":{"Node":{"nonterminal":14,"attributes":{"name":{"Literal":{"value":{"Str":"Option"},"span":{"file":"src/parser/parser.gr","start":[25,26],"end":[25,31],"start_byte":505,"end_byte":510}}},"args":{"Node":{"nonterminal":19,"attributes":{"value":{"Node":{"nonterminal":21,"attributes":{"value":{"Node":{"nonterminal":20,"attributes":{"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}},"head":{"Node":{"nonterminal":14,"attributes":{"name":{"Literal":{"value":{"Str":"AT"},"span":{"file":"src/parser/parser.gr","start":[25,33],"end":[25,34],"start_byte":512,"end_byte":513}}},"variant":{"Literal":{"value":{"Str":"Regular"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[25,33],"end":[25,34],"start_byte":512,"end_byte":513}}}},"span":{"file":"src/parser/parser.gr","start":[25,33],"end":[25,34],"start_byte":512,"end_byte":513}}},"variant":{"Literal":{"value":{"Str":"Some"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[25,33],"end":[25,34],"start_byte":512,"end_byte":513}}}},"span":{"file":"src/parser/parser.gr","start":[25,33],"end":[25,34],"start_byte":512,"end_byte":513}}},"variant":{"Literal":{"value":{"Str":"MacroInvocation"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[25,26],"end":[25,35],"start_byte":505,"end_byte":514}}}},"span":{"file":"src/parser/parser.gr","start":[25,26],"end":[25,41],"start_byte":505,"end_byte":520}}},"tail":{"Node":{"nonterminal":26,"attributes":{"tail":{"Node":{"nonterminal":26,"attributes":{"head":{"Node":{"nonterminal":11,"attributes":{"item":{"Node":{"nonterminal":14,"attributes":{"variant":{"Literal":{"value":{"Str":"Regular"},"span":null}},"name":{"Literal":{"value":{"Str":"DEF"},"span":{"file":"src/parser/parser.gr","start":[25,53],"end":[25,55],"start_byte":532,"end_byte":534}}}},"span":{"file":"src/parser/parser.gr","start":[25,53],"end":[25,55],"start_byte":532,"end_byte":534}}},"attribute":{"Node":{"nonterminal":22,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[26,2],"end":[26,5],"start_byte":538,"end_byte":541}}},"key":{"Node":{"nonterminal":23,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[26,2],"end":[26,5],"start_byte":538,"end_byte":541}}}},"span":{"file":"src/parser/parser.gr","start":[25,53],"end":[25,55],"start_byte":532,"end_byte":534}}},"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}},"tail":{"Node":{"nonterminal":26,"attributes":{"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}},"head":{"Node":{"nonterminal":11,"attributes":{"key":{"Node":{"nonterminal":23,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":13,"attributes":{"key":{"Literal":{"value":{"Str":"rules"},"span":{"file":"src/parser/parser.gr","start":[26,20],"end":[26,24],"start_byte":556,"end_byte":560}}}},"span":{"file":"src/parser/parser.gr","start":[26,19],"end":[26,24],"start_byte":555,"end_byte":560}}}},"span":{"file":"src/parser/parser.gr","start":[26,19],"end":[26,24],"start_byte":555,"end_byte":560}}},"item":{"Node":{"nonterminal":14,"attributes":{"name":{"Literal":{"value":{"Str":"List"},"span":{"file":"src/parser/parser.gr","start":[26,2],"end":[26,5],"start_byte":538,"end_byte":541}}},"args":{"Node":{"nonterminal":19,"attributes":{"value":{"Node":{"nonterminal":21,"attributes":{"value":{"Node":{"nonterminal":20,"attributes":{"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}},"tail":{"Node":{"nonterminal":20,"attributes":{"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}},"head":{"Node":{"nonterminal":14,"attributes":{"variant":{"Literal":{"value":{"Str":"Regular"},"span":null}},"name":{"Literal":{"value":{"Str":"Empty"},"span":{"file":"src/parser/parser.gr","start":[26,13],"end":[26,17],"start_byte":549,"end_byte":553}}}},"span":{"file":"src/parser/parser.gr","start":[26,13],"end":[26,17],"start_byte":549,"end_byte":553}}}},"span":{"file":"src/parser/parser.gr","start":[26,13],"end":[26,17],"start_byte":549,"end_byte":553}}},"head":{"Node":{"nonterminal":14,"attributes":{"name":{"Literal":{"value":{"Str":"Rule"},"span":{"file":"src/parser/parser.gr","start":[26,7],"end":[26,10],"start_byte":543,"end_byte":546}}},"variant":{"Literal":{"value":{"Str":"Regular"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[26,7],"end":[26,10],"start_byte":543,"end_byte":546}}}},"span":{"file":"src/parser/parser.gr","start":[26,7],"end":[26,17],"start_byte":543,"end_byte":553}}},"variant":{"Literal":{"value":{"Str":"Some"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[26,7],"end":[26,17],"start_byte":543,"end_byte":553}}}},"span":{"file":"src/parser/parser.gr","start":[26,7],"end":[26,17],"start_byte":543,"end_byte":553}}},"variant":{"Literal":{"value":{"Str":"MacroInvocation"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[26,2],"end":[26,18],"start_byte":538,"end_byte":554}}},"attribute":{"Node":{"nonterminal":22,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[26,19],"end":[26,19],"start_byte":555,"end_byte":555}}}},"span":{"file":"src/parser/parser.gr","start":[26,2],"end":[26,24],"start_byte":538,"end_byte":560}}},"tail":{"Node":{"nonterminal":26,"attributes":{"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}},"head":{"Node":{"nonterminal":11,"attributes":{"attribute":{"Node":{"nonterminal":22,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[26,36],"end":[26,36],"start_byte":572,"end_byte":572}}},"key":{"Node":{"nonterminal":23,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[26,36],"end":[26,36],"start_byte":572,"end_byte":572}}},"item":{"Node":{"nonterminal":14,"attributes":{"name":{"Literal":{"value":{"Str":"SEMICOLON"},"span":{"file":"src/parser/parser.gr","start":[26,26],"end":[26,34],"start_byte":562,"end_byte":570}}},"variant":{"Literal":{"value":{"Str":"Regular"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[26,26],"end":[26,34],"start_byte":562,"end_byte":570}}}},"span":{"file":"src/parser/parser.gr","start":[26,26],"end":[26,34],"start_byte":562,"end_byte":570}}}},"span":{"file":"src/parser/parser.gr","start":[26,26],"end":[26,34],"start_byte":562,"end_byte":570}}}},"span":{"file":"src/parser/parser.gr","start":[26,2],"end":[26,34],"start_byte":538,"end_byte":570}}}},"span":{"file":"src/parser/parser.gr","start":[25,53],"end":[26,34],"start_byte":532,"end_byte":570}}},"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}},"head":{"Node":{"nonterminal":11,"attributes":{"key":{"Node":{"nonterminal":23,"attributes":{"value":{"Node":{"nonterminal":13,"attributes":{"key":{"Literal":{"value":{"Str":"name"},"span":{"file":"src/parser/parser.gr","start":[25,48],"end":[25,51],"start_byte":527,"end_byte":530}}}},"span":{"file":"src/parser/parser.gr","start":[25,47],"end":[25,51],"start_byte":526,"end_byte":530}}},"variant":{"Literal":{"value":{"Str":"Some"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[25,47],"end":[25,51],"start_byte":526,"end_byte":530}}},"attribute":{"Node":{"nonterminal":22,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":12,"attributes":{"variant":{"Literal":{"value":{"Str":"Indexed"},"span":null}},"attribute":{"Literal":{"value":{"Str":"0"},"span":{"file":"src/parser/parser.gr","start":[25,46],"end":[25,46],"start_byte":525,"end_byte":525}}}},"span":{"file":"src/parser/parser.gr","start":[25,45],"end":[25,46],"start_byte":524,"end_byte":525}}}},"span":{"file":"src/parser/parser.gr","start":[25,45],"end":[25,46],"start_byte":524,"end_byte":525}}},"item":{"Node":{"nonterminal":14,"attributes":{"name":{"Literal":{"value":{"Str":"ID"},"span":{"file":"src/parser/parser.gr","start":[25,43],"end":[25,44],"start_byte":522,"end_byte":523}}},"variant":{"Literal":{"value":{"Str":"Regular"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[25,43],"end":[25,44],"start_byte":522,"end_byte":523}}}},"span":{"file":"src/parser/parser.gr","start":[25,43],"end":[25,51],"start_byte":522,"end_byte":530}}}},"span":{"file":"src/parser/parser.gr","start":[25,43],"end":[26,34],"start_byte":522,"end_byte":570}}}},"span":{"file":"src/parser/parser.gr","start":[25,26],"end":[26,34],"start_byte":505,"end_byte":570}}}},"span":{"file":"src/parser/parser.gr","start":[25,2],"end":[26,34],"start_byte":481,"end_byte":570}}},"variant":{"Literal":{"value":{"Str":"Some"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[25,2],"end":[26,34],"start_byte":481,"end_byte":570}}}},"span":{"file":"src/parser/parser.gr","start":[25,2],"end":[26,34],"start_byte":481,"end_byte":570}}}},"span":{"file":"src/parser/parser.gr","start":[25,2],"end":[26,37],"start_byte":481,"end_byte":573}}}},"span":{"file":"src/parser/parser.gr","start":[25,2],"end":[26,37],"start_byte":481,"end_byte":573}}}},"span":{"file":"src/parser/parser.gr","start":[25,2],"end":[26,37],"start_byte":481,"end_byte":573}}}},"span":{"file":"src/parser/parser.gr","start":[25,2],"end":[26,37],"start_byte":481,"end_byte":573}}},"name":{"Literal":{"value":{"Str":"Declaration"},"span":{"file":"src/parser/parser.gr","start":[24,0],"end":[24,10],"start_byte":463,"end_byte":473}}},"comment":{"Node":{"nonterminal":34,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":4,"attributes":{"through":{"Literal":{"value":{"Str":"a declaration"},"span":{"file":"src/parser/parser.gr","start":[23,0],"end":[23,14],"start_byte":447,"end_byte":461}}}},"span":{"file":"src/parser/parser.gr","start":[23,0],"end":[23,14],"start_byte":447,"end_byte":461}}}},"span":{"file":"src/parser/parser.gr","start":[23,0],"end":[23,14],"start_byte":447,"end_byte":461}}},"axiom":{"Node":{"nonterminal":35,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[24,0],"end":[24,10],"start_byte":463,"end_byte":473}}}},"span":{"file":"src/parser/parser.gr","start":[23,0],"end":[26,38],"start_byte":447,"end_byte":574}}}},"span":{"file":"src/parser/parser.gr","start":[23,0],"end":[26,38],"start_byte":447,"end_byte":574}}}},"span":{"file":"src/parser/parser.gr","start":[23,0],"end":[82,73],"start_byte":447,"end_byte":1672}}},"head":{"Node":{"nonterminal":2,"attributes":{"decl":{"Node":{"nonterminal":3,"attributes":{"axiom":{"Node":{"nonterminal":35,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[19,0],"end":[19,18],"start_byte":370,"end_byte":388}}},"comment":{"Node":{"nonterminal":34,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":4,"attributes":{"through":{"Literal":{"value":{"Str":"a declaration"},"span":{"file":"src/parser/parser.gr","start":[18,0],"end":[18,14],"start_byte":354,"end_byte":368}}}},"span":{"file":"src/parser/parser.gr","start":[18,0],"end":[18,14],"start_byte":354,"end_byte":368}}}},"span":{"file":"src/parser/parser.gr","start":[18,0],"end":[18,14],"start_byte":354,"end_byte":368}}},"rules":{"Node":{"nonterminal":31,"attributes":{"value":{"Node":{"nonterminal":33,"attributes":{"value":{"Node":{"nonterminal":32,"attributes":{"head":{"Node":{"nonterminal":6,"attributes":{"elements":{"Node":{"nonterminal":25,"attributes":{"value":{"Node":{"nonterminal":27,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":26,"attributes":{"head":{"Node":{"nonterminal":11,"attributes":{"key":{"Node":{"nonterminal":23,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":13,"attributes":{"key":{"Literal":{"value":{"Str":"decl"},"span":{"file":"src/parser/parser.gr","start":[20,14],"end":[20,17],"start_byte":408,"end_byte":411}}}},"span":{"file":"src/parser/parser.gr","start":[20,13],"end":[20,17],"start_byte":407,"end_byte":411}}}},"span":{"file":"src/parser/parser.gr","start":[20,13],"end":[20,17],"start_byte":407,"end_byte":411}}},"attribute":{"Node":{"nonterminal":22,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[20,13],"end":[20,13],"start_byte":407,"end_byte":407}}},"item":{"Node":{"nonterminal":14,"attributes":{"variant":{"Literal":{"value":{"Str":"Regular"},"span":null}},"name":{"Literal":{"value":{"Str":"Declaration"},"span":{"file":"src/parser/parser.gr","start":[20,2],"end":[20,12],"start_byte":396,"end_byte":406}}}},"span":{"file":"src/parser/parser.gr","start":[20,2],"end":[20,12],"start_byte":396,"end_byte":406}}}},"span":{"file":"src/parser/parser.gr","start":[20,2],"end":[20,17],"start_byte":396,"end_byte":411}}},"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[20,2],"end":[20,17],"start_byte":396,"end_byte":411}}}},"span":{"file":"src/parser/parser.gr","start":[20,2],"end":[20,17],"start_byte":396,"end_byte":411}}}},"span":{"file":"src/parser/parser.gr","start":[20,2],"end":[20,17],"start_byte":396,"end_byte":411}}},"assoc":{"Node":{"nonterminal":24,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[20,2],"end":[20,12],"start_byte":396,"end_byte":406}}},"proxy":{"Node":{"nonterminal":8,"attributes":{"through":{"Node":{"nonterminal":16,"attributes":{"value":{"Node":{"nonterminal":18,"attributes":{"value":{"Node":{"nonterminal":17,"attributes":{"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}},"head":{"Node":{"nonterminal":9,"attributes":{"variant":{"Literal":{"value":{"Str":"Variant"},"span":null}},"var":{"Literal":{"value":{"Str":"Decl"},"span":{"file":"src/parser/parser.gr","start":[20,20],"end":[20,23],"start_byte":414,"end_byte":417}}}},"span":{"file":"src/parser/parser.gr","start":[20,20],"end":[20,23],"start_byte":414,"end_byte":417}}}},"span":{"file":"src/parser/parser.gr","start":[20,20],"end":[20,23],"start_byte":414,"end_byte":417}}},"variant":{"Literal":{"value":{"Str":"Some"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[20,20],"end":[20,23],"start_byte":414,"end_byte":417}}}},"span":{"file":"src/parser/parser.gr","start":[20,20],"end":[20,23],"start_byte":414,"end_byte":417}}}},"span":{"file":"src/parser/parser.gr","start":[20,19],"end":[20,24],"start_byte":413,"end_byte":418}}}},"span":{"file":"src/parser/parser.gr","start":[20,2],"end":[20,24],"start_byte":396,"end_byte":418}}},"tail":{"Node":{"nonterminal":32,"attributes":{"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}},"head":{"Node":{"nonterminal":6,"attributes":{"proxy":{"Node":{"nonterminal":8,"attributes":{"through":{"Node":{"nonterminal":16,"attributes":{"value":{"Node":{"nonterminal":18,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":17,"attributes":{"head":{"Node":{"nonterminal":9,"attributes":{"var":{"Literal":{"value":{"Str":"Macro"},"span":{"file":"src/parser/parser.gr","start":[21,18],"end":[21,22],"start_byte":438,"end_byte":442}}},"variant":{"Literal":{"value":{"Str":"Variant"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[21,18],"end":[21,22],"start_byte":438,"end_byte":442}}},"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[21,18],"end":[21,22],"start_byte":438,"end_byte":442}}}},"span":{"file":"src/parser/parser.gr","start":[21,18],"end":[21,22],"start_byte":438,"end_byte":442}}}},"span":{"file":"src/parser/parser.gr","start":[21,18],"end":[21,22],"start_byte":438,"end_byte":442}}}},"span":{"file":"src/parser/parser.gr","start":[21,17],"end":[21,23],"start_byte":437,"end_byte":443}}},"elements":{"Node":{"nonterminal":25,"attributes":{"value":{"Node":{"nonterminal":27,"attributes":{"value":{"Node":{"nonterminal":26,"attributes":{"head":{"Node":{"nonterminal":11,"attributes":{"attribute":{"Node":{"nonterminal":22,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[21,11],"end":[21,11],"start_byte":431,"end_byte":431}}},"item":{"Node":{"nonterminal":14,"attributes":{"variant":{"Literal":{"value":{"Str":"Regular"},"span":null}},"name":{"Literal":{"value":{"Str":"MacroDecl"},"span":{"file":"src/parser/parser.gr","start":[21,2],"end":[21,10],"start_byte":422,"end_byte":430}}}},"span":{"file":"src/parser/parser.gr","start":[21,2],"end":[21,10],"start_byte":422,"end_byte":430}}},"key":{"Node":{"nonterminal":23,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":13,"attributes":{"key":{"Literal":{"value":{"Str":"decl"},"span":{"file":"src/parser/parser.gr","start":[21,12],"end":[21,15],"start_byte":432,"end_byte":435}}}},"span":{"file":"src/parser/parser.gr","start":[21,11],"end":[21,15],"start_byte":431,"end_byte":435}}}},"span":{"file":"src/parser/parser.gr","start":[21,11],"end":[21,15],"start_byte":431,"end_byte":435}}}},"span":{"file":"src/parser/parser.gr","start":[21,2],"end":[21,15],"start_byte":422,"end_byte":435}}},"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[21,2],"end":[21,15],"start_byte":422,"end_byte":435}}},"variant":{"Literal":{"value":{"Str":"Some"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[21,2],"end":[21,15],"start_byte":422,"end_byte":435}}}},"span":{"file":"src/parser/parser.gr","start":[21,2],"end":[21,15],"start_byte":422,"end_byte":435}}},"assoc":{"Node":{"nonterminal":24,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[21,2],"end":[21,10],"start_byte":422,"end_byte":430}}}},"span":{"file":"src/parser/parser.gr","start":[21,2],"end":[21,23],"start_byte":422,"end_byte":443}}}},"span":{"file":"src/parser/parser.gr","start":[21,2],"end":[21,23],"start_byte":422,"end_byte":443}}},"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[20,2],"end":[21,23],"start_byte":396,"end_byte":443}}},"variant":{"Literal":{"value":{"Str":"Some"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[20,2],"end":[21,23],"start_byte":396,"end_byte":443}}}},"span":{"file":"src/parser/parser.gr","start":[20,2],"end":[21,23],"start_byte":396,"end_byte":443}}},"name":{"Literal":{"value":{"Str":"ToplevelDeclaration"},"span":{"file":"src/parser/parser.gr","start":[19,0],"end":[19,18],"start_byte":370,"end_byte":388}}}},"span":{"file":"src/parser/parser.gr","start":[18,0],"end":[21,24],"start_byte":354,"end_byte":444}}},"variant":{"Literal":{"value":{"Str":"Decl"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[18,0],"end":[21,24],"start_byte":354,"end_byte":444}}},"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[18,0],"end":[82,73],"start_byte":354,"end_byte":1672}}},"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[14,0],"end":[82,73],"start_byte":289,"end_byte":1672}}},"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}},"head":{"Node":{"nonterminal":2,"attributes":{"decl":{"Node":{"nonterminal":3,"attributes":{"axiom":{"Node":{"nonterminal":35,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[11,0],"end":[11,4],"start_byte":272,"end_byte":276}}},"comment":{"Node":{"nonterminal":34,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[11,0],"end":[11,4],"start_byte":272,"end_byte":276}}},"name":{"Literal":{"value":{"Str":"Empty"},"span":{"file":"src/parser/parser.gr","start":[11,0],"end":[11,4],"start_byte":272,"end_byte":276}}},"rules":{"Node":{"nonterminal":31,"attributes":{"value":{"Node":{"nonterminal":33,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":32,"attributes":{"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}},"head":{"Node":{"nonterminal":6,"attributes":{"elements":{"Node":{"nonterminal":25,"attributes":{"value":{"Node":{"nonterminal":27,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[12,2],"end":[12,2],"start_byte":284,"end_byte":284}}}},"span":{"file":"src/parser/parser.gr","start":[12,2],"end":[12,2],"start_byte":284,"end_byte":284}}},"assoc":{"Node":{"nonterminal":24,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[12,2],"end":[12,2],"start_byte":284,"end_byte":284}}},"proxy":{"Node":{"nonterminal":8,"attributes":{"through":{"Node":{"nonterminal":16,"attributes":{"value":{"Node":{"nonterminal":18,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[12,3],"end":[12,3],"start_byte":285,"end_byte":285}}}},"span":{"file":"src/parser/parser.gr","start":[12,3],"end":[12,3],"start_byte":285,"end_byte":285}}}},"span":{"file":"src/parser/parser.gr","start":[12,2],"end":[12,3],"start_byte":284,"end_byte":285}}}},"span":{"file":"src/parser/parser.gr","start":[12,2],"end":[12,3],"start_byte":284,"end_byte":285}}}},"span":{"file":"src/parser/parser.gr","start":[12,2],"end":[12,3],"start_byte":284,"end_byte":285}}}},"span":{"file":"src/parser/parser.gr","start":[12,2],"end":[12,3],"start_byte":284,"end_byte":285}}}},"span":{"file":"src/parser/parser.gr","start":[12,2],"end":[12,3],"start_byte":284,"end_byte":285}}}},"span":{"file":"src/parser/parser.gr","start":[11,0],"end":[12,4],"start_byte":272,"end_byte":286}}},"variant":{"Literal":{"value":{"Str":"Decl"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[11,0],"end":[12,4],"start_byte":272,"end_byte":286}}}},"span":{"file":"src/parser/parser.gr","start":[11,0],"end":[82,73],"start_byte":272,"end_byte":1672}}}},"span":{"file":"src/parser/parser.gr","start":[8,0],"end":[82,73],"start_byte":187,"end_byte":1672}}},"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}},"head":{"Node":{"nonterminal":2,"attributes":{"decl":{"Node":{"nonterminal":5,"attributes":{"name":{"Literal":{"value":{"Str":"NonEmptyList"},"span":{"file":"src/parser/parser.gr","start":[4,0],"end":[4,11],"start_byte":54,"end_byte":65}}},"args":{"Node":{"nonterminal":28,"attributes":{"value":{"Node":{"nonterminal":30,"attributes":{"value":{"Node":{"nonterminal":29,"attributes":{"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}},"tail":{"Node":{"nonterminal":29,"attributes":{"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}},"head":{"Node":{"nonterminal":10,"attributes":{"name":{"Literal":{"value":{"Str":"separation"},"span":{"file":"src/parser/parser.gr","start":[4,22],"end":[4,31],"start_byte":76,"end_byte":85}}}},"span":{"file":"src/parser/parser.gr","start":[4,22],"end":[4,31],"start_byte":76,"end_byte":85}}}},"span":{"file":"src/parser/parser.gr","start":[4,22],"end":[4,31],"start_byte":76,"end_byte":85}}},"head":{"Node":{"nonterminal":10,"attributes":{"name":{"Literal":{"value":{"Str":"content"},"span":{"file":"src/parser/parser.gr","start":[4,13],"end":[4,19],"start_byte":67,"end_byte":73}}}},"span":{"file":"src/parser/parser.gr","start":[4,13],"end":[4,19],"start_byte":67,"end_byte":73}}}},"span":{"file":"src/parser/parser.gr","start":[4,13],"end":[4,31],"start_byte":67,"end_byte":85}}},"variant":{"Literal":{"value":{"Str":"Some"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[4,13],"end":[4,31],"start_byte":67,"end_byte":85}}}},"span":{"file":"src/parser/parser.gr","start":[4,13],"end":[4,31],"start_byte":67,"end_byte":85}}},"rules":{"Node":{"nonterminal":31,"attributes":{"value":{"Node":{"nonterminal":33,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":32,"attributes":{"tail":{"Node":{"nonterminal":32,"attributes":{"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}},"head":{"Node":{"nonterminal":6,"attributes":{"assoc":{"Node":{"nonterminal":24,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[6,2],"end":[6,8],"start_byte":115,"end_byte":121}}},"elements":{"Node":{"nonterminal":25,"attributes":{"value":{"Node":{"nonterminal":27,"attributes":{"value":{"Node":{"nonterminal":26,"attributes":{"tail":{"Node":{"nonterminal":26,"attributes":{"tail":{"Node":{"nonterminal":26,"attributes":{"head":{"Node":{"nonterminal":11,"attributes":{"key":{"Node":{"nonterminal":23,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":13,"attributes":{"key":{"Literal":{"value":{"Str":"tail"},"span":{"file":"src/parser/parser.gr","start":[6,60],"end":[6,63],"start_byte":173,"end_byte":176}}}},"span":{"file":"src/parser/parser.gr","start":[6,59],"end":[6,63],"start_byte":172,"end_byte":176}}}},"span":{"file":"src/parser/parser.gr","start":[6,59],"end":[6,63],"start_byte":172,"end_byte":176}}},"item":{"Node":{"nonterminal":14,"attributes":{"variant":{"Literal":{"value":{"Str":"MacroInvocation"},"span":null}},"args":{"Node":{"nonterminal":19,"attributes":{"value":{"Node":{"nonterminal":21,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":20,"attributes":{"head":{"Node":{"nonterminal":14,"attributes":{"name":{"Literal":{"value":{"Str":"content"},"span":{"file":"src/parser/parser.gr","start":[6,39],"end":[6,45],"start_byte":152,"end_byte":158}}},"variant":{"Literal":{"value":{"Str":"Regular"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[6,39],"end":[6,45],"start_byte":152,"end_byte":158}}},"tail":{"Node":{"nonterminal":20,"attributes":{"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}},"head":{"Node":{"nonterminal":14,"attributes":{"name":{"Literal":{"value":{"Str":"separation"},"span":{"file":"src/parser/parser.gr","start":[6,48],"end":[6,57],"start_byte":161,"end_byte":170}}},"variant":{"Literal":{"value":{"Str":"Regular"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[6,48],"end":[6,57],"start_byte":161,"end_byte":170}}}},"span":{"file":"src/parser/parser.gr","start":[6,48],"end":[6,57],"start_byte":161,"end_byte":170}}},"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[6,39],"end":[6,57],"start_byte":152,"end_byte":170}}}},"span":{"file":"src/parser/parser.gr","start":[6,39],"end":[6,57],"start_byte":152,"end_byte":170}}}},"span":{"file":"src/parser/parser.gr","start":[6,39],"end":[6,57],"start_byte":152,"end_byte":170}}},"name":{"Literal":{"value":{"Str":"NonEmptyList"},"span":{"file":"src/parser/parser.gr","start":[6,26],"end":[6,37],"start_byte":139,"end_byte":150}}}},"span":{"file":"src/parser/parser.gr","start":[6,26],"end":[6,58],"start_byte":139,"end_byte":171}}},"attribute":{"Node":{"nonterminal":22,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[6,59],"end":[6,59],"start_byte":172,"end_byte":172}}}},"span":{"file":"src/parser/parser.gr","start":[6,26],"end":[6,63],"start_byte":139,"end_byte":176}}},"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[6,26],"end":[6,63],"start_byte":139,"end_byte":176}}},"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}},"head":{"Node":{"nonterminal":11,"attributes":{"attribute":{"Node":{"nonterminal":22,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[6,26],"end":[6,37],"start_byte":139,"end_byte":150}}},"key":{"Node":{"nonterminal":23,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[6,26],"end":[6,37],"start_byte":139,"end_byte":150}}},"item":{"Node":{"nonterminal":14,"attributes":{"variant":{"Literal":{"value":{"Str":"Regular"},"span":null}},"name":{"Literal":{"value":{"Str":"separation"},"span":{"file":"src/parser/parser.gr","start":[6,15],"end":[6,24],"start_byte":128,"end_byte":137}}}},"span":{"file":"src/parser/parser.gr","start":[6,15],"end":[6,24],"start_byte":128,"end_byte":137}}}},"span":{"file":"src/parser/parser.gr","start":[6,15],"end":[6,24],"start_byte":128,"end_byte":137}}}},"span":{"file":"src/parser/parser.gr","start":[6,15],"end":[6,63],"start_byte":128,"end_byte":176}}},"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}},"head":{"Node":{"nonterminal":11,"attributes":{"key":{"Node":{"nonterminal":23,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":13,"attributes":{"key":{"Literal":{"value":{"Str":"head"},"span":{"file":"src/parser/parser.gr","start":[6,10],"end":[6,13],"start_byte":123,"end_byte":126}}}},"span":{"file":"src/parser/parser.gr","start":[6,9],"end":[6,13],"start_byte":122,"end_byte":126}}}},"span":{"file":"src/parser/parser.gr","start":[6,9],"end":[6,13],"start_byte":122,"end_byte":126}}},"item":{"Node":{"nonterminal":14,"attributes":{"variant":{"Literal":{"value":{"Str":"Regular"},"span":null}},"name":{"Literal":{"value":{"Str":"content"},"span":{"file":"src/parser/parser.gr","start":[6,2],"end":[6,8],"start_byte":115,"end_byte":121}}}},"span":{"file":"src/parser/parser.gr","start":[6,2],"end":[6,8],"start_byte":115,"end_byte":121}}},"attribute":{"Node":{"nonterminal":22,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[6,9],"end":[6,9],"start_byte":122,"end_byte":122}}}},"span":{"file":"src/parser/parser.gr","start":[6,2],"end":[6,13],"start_byte":115,"end_byte":126}}}},"span":{"file":"src/parser/parser.gr","start":[6,2],"end":[6,63],"start_byte":115,"end_byte":176}}},"variant":{"Literal":{"value":{"Str":"Some"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[6,2],"end":[6,63],"start_byte":115,"end_byte":176}}}},"span":{"file":"src/parser/parser.gr","start":[6,2],"end":[6,63],"start_byte":115,"end_byte":176}}},"proxy":{"Node":{"nonterminal":8,"attributes":{"through":{"Node":{"nonterminal":16,"attributes":{"value":{"Node":{"nonterminal":18,"attributes":{"value":{"Node":{"nonterminal":17,"attributes":{"head":{"Node":{"nonterminal":9,"attributes":{"variant":{"Literal":{"value":{"Str":"Variant"},"span":null}},"var":{"Literal":{"value":{"Str":"Cons"},"span":{"file":"src/parser/parser.gr","start":[6,66],"end":[6,69],"start_byte":179,"end_byte":182}}}},"span":{"file":"src/parser/parser.gr","start":[6,66],"end":[6,69],"start_byte":179,"end_byte":182}}},"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[6,66],"end":[6,69],"start_byte":179,"end_byte":182}}},"variant":{"Literal":{"value":{"Str":"Some"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[6,66],"end":[6,69],"start_byte":179,"end_byte":182}}}},"span":{"file":"src/parser/parser.gr","start":[6,66],"end":[6,69],"start_byte":179,"end_byte":182}}}},"span":{"file":"src/parser/parser.gr","start":[6,65],"end":[6,70],"start_byte":178,"end_byte":183}}}},"span":{"file":"src/parser/parser.gr","start":[6,2],"end":[6,70],"start_byte":115,"end_byte":183}}}},"span":{"file":"src/parser/parser.gr","start":[6,2],"end":[6,70],"start_byte":115,"end_byte":183}}},"head":{"Node":{"nonterminal":6,"attributes":{"elements":{"Node":{"nonterminal":25,"attributes":{"value":{"Node":{"nonterminal":27,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":26,"attributes":{"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}},"head":{"Node":{"nonterminal":11,"attributes":{"item":{"Node":{"nonterminal":14,"attributes":{"name":{"Literal":{"value":{"Str":"content"},"span":{"file":"src/parser/parser.gr","start":[5,2],"end":[5,8],"start_byte":94,"end_byte":100}}},"variant":{"Literal":{"value":{"Str":"Regular"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[5,2],"end":[5,8],"start_byte":94,"end_byte":100}}},"key":{"Node":{"nonterminal":23,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":13,"attributes":{"key":{"Literal":{"value":{"Str":"head"},"span":{"file":"src/parser/parser.gr","start":[5,10],"end":[5,13],"start_byte":102,"end_byte":105}}}},"span":{"file":"src/parser/parser.gr","start":[5,9],"end":[5,13],"start_byte":101,"end_byte":105}}}},"span":{"file":"src/parser/parser.gr","start":[5,9],"end":[5,13],"start_byte":101,"end_byte":105}}},"attribute":{"Node":{"nonterminal":22,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[5,9],"end":[5,9],"start_byte":101,"end_byte":101}}}},"span":{"file":"src/parser/parser.gr","start":[5,2],"end":[5,13],"start_byte":94,"end_byte":105}}}},"span":{"file":"src/parser/parser.gr","start":[5,2],"end":[5,13],"start_byte":94,"end_byte":105}}}},"span":{"file":"src/parser/parser.gr","start":[5,2],"end":[5,13],"start_byte":94,"end_byte":105}}}},"span":{"file":"src/parser/parser.gr","start":[5,2],"end":[5,13],"start_byte":94,"end_byte":105}}},"assoc":{"Node":{"nonterminal":24,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[5,2],"end":[5,8],"start_byte":94,"end_byte":100}}},"proxy":{"Node":{"nonterminal":8,"attributes":{"through":{"Node":{"nonterminal":16,"attributes":{"value":{"Node":{"nonterminal":18,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":17,"attributes":{"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}},"head":{"Node":{"nonterminal":9,"attributes":{"variant":{"Literal":{"value":{"Str":"Variant"},"span":null}},"var":{"Literal":{"value":{"Str":"Nil"},"span":{"file":"src/parser/parser.gr","start":[5,16],"end":[5,18],"start_byte":108,"end_byte":110}}}},"span":{"file":"src/parser/parser.gr","start":[5,16],"end":[5,18],"start_byte":108,"end_byte":110}}}},"span":{"file":"src/parser/parser.gr","start":[5,16],"end":[5,18],"start_byte":108,"end_byte":110}}}},"span":{"file":"src/parser/parser.gr","start":[5,16],"end":[5,18],"start_byte":108,"end_byte":110}}}},"span":{"file":"src/parser/parser.gr","start":[5,16],"end":[5,18],"start_byte":108,"end_byte":110}}}},"span":{"file":"src/parser/parser.gr","start":[5,15],"end":[5,19],"start_byte":107,"end_byte":111}}}},"span":{"file":"src/parser/parser.gr","start":[5,2],"end":[5,19],"start_byte":94,"end_byte":111}}},"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[5,2],"end":[6,70],"start_byte":94,"end_byte":183}}}},"span":{"file":"src/parser/parser.gr","start":[5,2],"end":[6,70],"start_byte":94,"end_byte":183}}}},"span":{"file":"src/parser/parser.gr","start":[5,2],"end":[6,70],"start_byte":94,"end_byte":183}}}},"span":{"file":"src/parser/parser.gr","start":[4,0],"end":[6,71],"start_byte":54,"end_byte":184}}},"variant":{"Literal":{"value":{"Str":"Macro"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[4,0],"end":[6,71],"start_byte":54,"end_byte":184}}}},"span":{"file":"src/parser/parser.gr","start":[4,0],"end":[82,73],"start_byte":54,"end_byte":1672}}},"head":{"Node":{"nonterminal":2,"attributes":{"decl":{"Node":{"nonterminal":5,"attributes":{"args":{"Node":{"nonterminal":28,"attributes":{"value":{"Node":{"nonterminal":30,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":29,"attributes":{"head":{"Node":{"nonterminal":10,"attributes":{"name":{"Literal":{"value":{"Str":"content"},"span":{"file":"src/parser/parser.gr","start":[0,7],"end":[0,13],"start_byte":7,"end_byte":13}}}},"span":{"file":"src/parser/parser.gr","start":[0,7],"end":[0,13],"start_byte":7,"end_byte":13}}},"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[0,7],"end":[0,13],"start_byte":7,"end_byte":13}}}},"span":{"file":"src/parser/parser.gr","start":[0,7],"end":[0,13],"start_byte":7,"end_byte":13}}}},"span":{"file":"src/parser/parser.gr","start":[0,7],"end":[0,13],"start_byte":7,"end_byte":13}}},"rules":{"Node":{"nonterminal":31,"attributes":{"value":{"Node":{"nonterminal":33,"attributes":{"value":{"Node":{"nonterminal":32,"attributes":{"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}},"head":{"Node":{"nonterminal":6,"attributes":{"assoc":{"Node":{"nonterminal":24,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[1,2],"end":[1,8],"start_byte":22,"end_byte":28}}},"elements":{"Node":{"nonterminal":25,"attributes":{"value":{"Node":{"nonterminal":27,"attributes":{"value":{"Node":{"nonterminal":26,"attributes":{"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}},"head":{"Node":{"nonterminal":11,"attributes":{"attribute":{"Node":{"nonterminal":22,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[1,9],"end":[1,9],"start_byte":29,"end_byte":29}}},"item":{"Node":{"nonterminal":14,"attributes":{"variant":{"Literal":{"value":{"Str":"Regular"},"span":null}},"name":{"Literal":{"value":{"Str":"content"},"span":{"file":"src/parser/parser.gr","start":[1,2],"end":[1,8],"start_byte":22,"end_byte":28}}}},"span":{"file":"src/parser/parser.gr","start":[1,2],"end":[1,8],"start_byte":22,"end_byte":28}}},"key":{"Node":{"nonterminal":23,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":13,"attributes":{"key":{"Literal":{"value":{"Str":"value"},"span":{"file":"src/parser/parser.gr","start":[1,10],"end":[1,14],"start_byte":30,"end_byte":34}}}},"span":{"file":"src/parser/parser.gr","start":[1,9],"end":[1,14],"start_byte":29,"end_byte":34}}}},"span":{"file":"src/parser/parser.gr","start":[1,9],"end":[1,14],"start_byte":29,"end_byte":34}}}},"span":{"file":"src/parser/parser.gr","start":[1,2],"end":[1,14],"start_byte":22,"end_byte":34}}}},"span":{"file":"src/parser/parser.gr","start":[1,2],"end":[1,14],"start_byte":22,"end_byte":34}}},"variant":{"Literal":{"value":{"Str":"Some"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[1,2],"end":[1,14],"start_byte":22,"end_byte":34}}}},"span":{"file":"src/parser/parser.gr","start":[1,2],"end":[1,14],"start_byte":22,"end_byte":34}}},"proxy":{"Node":{"nonterminal":8,"attributes":{"through":{"Node":{"nonterminal":16,"attributes":{"value":{"Node":{"nonterminal":18,"attributes":{"variant":{"Literal":{"value":{"Str":"Some"},"span":null}},"value":{"Node":{"nonterminal":17,"attributes":{"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}},"head":{"Node":{"nonterminal":9,"attributes":{"var":{"Literal":{"value":{"Str":"Some"},"span":{"file":"src/parser/parser.gr","start":[1,17],"end":[1,20],"start_byte":37,"end_byte":40}}},"variant":{"Literal":{"value":{"Str":"Variant"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[1,17],"end":[1,20],"start_byte":37,"end_byte":40}}}},"span":{"file":"src/parser/parser.gr","start":[1,17],"end":[1,20],"start_byte":37,"end_byte":40}}}},"span":{"file":"src/parser/parser.gr","start":[1,17],"end":[1,20],"start_byte":37,"end_byte":40}}}},"span":{"file":"src/parser/parser.gr","start":[1,17],"end":[1,20],"start_byte":37,"end_byte":40}}}},"span":{"file":"src/parser/parser.gr","start":[1,16],"end":[1,21],"start_byte":36,"end_byte":41}}}},"span":{"file":"src/parser/parser.gr","start":[1,2],"end":[1,21],"start_byte":22,"end_byte":41}}},"tail":{"Node":{"nonterminal":32,"attributes":{"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}},"head":{"Node":{"nonterminal":6,"attributes":{"assoc":{"Node":{"nonterminal":24,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[2,2],"end":[2,2],"start_byte":45,"end_byte":45}}},"proxy":{"Node":{"nonterminal":8,"attributes":{"through":{"Node":{"nonterminal":16,"attributes":{"value":{"Node":{"nonterminal":18,"attributes":{"value":{"Node":{"nonterminal":17,"attributes":{"variant":{"Literal":{"value":{"Str":"Nil"},"span":null}},"head":{"Node":{"nonterminal":9,"attributes":{"variant":{"Literal":{"value":{"Str":"Variant"},"span":null}},"var":{"Literal":{"value":{"Str":"None"},"span":{"file":"src/parser/parser.gr","start":[2,3],"end":[2,6],"start_byte":46,"end_byte":49}}}},"span":{"file":"src/parser/parser.gr","start":[2,3],"end":[2,6],"start_byte":46,"end_byte":49}}}},"span":{"file":"src/parser/parser.gr","start":[2,3],"end":[2,6],"start_byte":46,"end_byte":49}}},"variant":{"Literal":{"value":{"Str":"Some"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[2,3],"end":[2,6],"start_byte":46,"end_byte":49}}}},"span":{"file":"src/parser/parser.gr","start":[2,3],"end":[2,6],"start_byte":46,"end_byte":49}}}},"span":{"file":"src/parser/parser.gr","start":[2,2],"end":[2,7],"start_byte":45,"end_byte":50}}},"elements":{"Node":{"nonterminal":25,"attributes":{"value":{"Node":{"nonterminal":27,"attributes":{"variant":{"Literal":{"value":{"Str":"None"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[2,2],"end":[2,2],"start_byte":45,"end_byte":45}}}},"span":{"file":"src/parser/parser.gr","start":[2,2],"end":[2,2],"start_byte":45,"end_byte":45}}}},"span":{"file":"src/parser/parser.gr","start":[2,2],"end":[2,7],"start_byte":45,"end_byte":50}}}},"span":{"file":"src/parser/parser.gr","start":[2,2],"end":[2,7],"start_byte":45,"end_byte":50}}}},"span":{"file":"src/parser/parser.gr","start":[1,2],"end":[2,7],"start_byte":22,"end_byte":50}}},"variant":{"Literal":{"value":{"Str":"Some"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[1,2],"end":[2,7],"start_byte":22,"end_byte":50}}}},"span":{"file":"src/parser/parser.gr","start":[1,2],"end":[2,7],"start_byte":22,"end_byte":50}}},"name":{"Literal":{"value":{"Str":"Option"},"span":{"file":"src/parser/parser.gr","start":[0,0],"end":[0,5],"start_byte":0,"end_byte":5}}}},"span":{"file":"src/parser/parser.gr","start":[0,0],"end":[2,8],"start_byte":0,"end_byte":51}}},"variant":{"Literal":{"value":{"Str":"Macro"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[0,0],"end":[2,8],"start_byte":0,"end_byte":51}}},"variant":{"Literal":{"value":{"Str":"Cons"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[0,0],"end":[82,73],"start_byte":0,"end_byte":1672}}},"variant":{"Literal":{"value":{"Str":"Some"},"span":null}}},"span":{"file":"src/parser/parser.gr","start":[0,0],"end":[82,73],"start_byte":0,"end_byte":1672}}}},"span":{"file":"src/parser/parser.gr","start":[0,0],"end":[82,73],"start_byte":0,"end_byte":1672}}}},"span":{"file":"src/parser/parser.gr","start":[0,0],"end":[82,73],"start_byte":0,"end_byte":1672}}}