     #! Return the combined list resulting from the parses
     #! of parser1 and parser2 being applied to the same
     #! input. This implements the choice parsing operator.
-    or-parser-parsers 0 swap seq>list
+    parsers>> 0 swap seq>list
     [ parse ] lazy-map-with lconcat ;
 
 : left-trim-slice ( string -- string )

    over empty? [
        2drop nil
    ] [
        satisfy-parser-quot >r unclip-slice dup r> call
        [ swap <parse-results> ] [ 2drop nil ] if
    ] if ;


M: only-first-parser parse ( input parser -- list )
    #! Transform a parser into a parser that only yields
    #! the first possibility.
    p1>> parse 1 swap ltake ;

LAZY: <!*> ( parser -- parser )
    #! Like <*> but only return one possible result
