   #! Work through all delayed parsers and recompile their
   #! words to have the correct bodies.
   delayed get [
-    call compile-parser 1quotation 0 1 <effect> define-declared
+    call compile-parser 1quotation (( -- result )) define-declared
   ] assoc-each ;
 
 : compile ( parser -- word )

    [
      parsers>> unclip compile-parser 1quotation [ parse-seq-element ] curry ,
      [ compile-parser 1quotation [ merge-errors ] compose [ parse-seq-element ] curry , ] each 
    ] { } make , \ && , 
  ] [ ] make ;

TUPLE: choice-parser parsers ;

    [
      parsers>> [ compile-parser ] map 
      unclip 1quotation , [ 1quotation [ merge-errors ] compose , ] each
    ] { } make , \ 0|| ,
  ] [ ] make ;

TUPLE: repeat0-parser p1 ;
