 : take-until-object ( state obj -- sequence )
     '[ _ = ] take-until ;
 
-: take-stuff ( state delimiter -- sequence )
-    
-    ;
+: state-parse ( sequence quot -- )
+    [ <state-parser> ] dip call ; inline

        [ skip-until ]
        [ drop [ n>> ] [ sequence>> ] bi ] 2tri subseq
    ] if ; inline

:: take-until-sequence ( state-parser sequence -- sequence' )
    sequence length <growing-circular> :> growing


: get+increment ( state -- char/f )
    [ current ] [ next drop ] bi ; inline

:: skip-until ( state quot: ( obj -- ? ) -- )
    state current [
