Let's imagine that we want to implement an arithmetic fractions calculus. And we need to support the simple fraction expressions in the form aaa/bbb (e.g. 355/113 ), where aaa is a doublecell number, bbb is a singlecell number. A fraction token is represented as ( dnumerator udenominator ) pair.
Let's consider how it can look like in the both APIs.
Recognizer RFD v4 
Resolver RFD v1 

Define a rectype 
Define a token translator 
'NOOP :NONAME ( 3*x  ) >R 2LIT, R> LIT, ; DUP RECTYPE: RECTYPE3LIT \ NB: RECTYPE3LIT entity can not be anonymous (no API for that)  : TT3LIT ( 3*x  3*x  ) >R TT2LIT R> TTLIT ; \ NB: TT3LIT entity can be anonymous, or even a quotation 
Define a lexeme recognizer 
Define a lexeme resolver 
: RECFRAC ( caddr u  3*x rectype  rectypenull ) `/ SPLIT 0= IF 2DROP RECTYPENULL EXIT THEN 2>R RECDNUM DUP RECTYPENULL = IF 2R> 2DROP EXIT THEN DROP 2R> RECNUM DUP RECTYPENULL = IF ( d1 rt ) NIP NIP EXIT THEN DROP RECTYPE3LIT ;  : RESOLVEFRAC ( caddr u  3*x tt  caddr u 0 ) `/ SPLIT ?E0 2>R OVER >R ( R: dtxtright caddr ) RESOLVEDN IF R> 2R> RESOLVEN IF NIP 'TT3LIT EXIT THEN ELSE R> 2R> THEN + OVER  2NIP 0 ; 
A variant with 0 in place of RECTYPENULL  A variant with using ?RETAIN2 combinator and quotation 
: RECFRAC ( caddr u  3*x rectype  0 ) `/ SPLIT IF 2>R RECDNUM IF 2R> RECNUM IF RECTYPE3LIT EXIT THEN ( d1 ) 2DROP 0 EXIT THEN 2R> THEN 2DROP 0 ; \ NB: actually we need here a recognizer for a plain \ signed double number (without dot), \ RECDNUM is not wellsuited for that.  : RESOLVEFRAC ( caddr u  3*x tt  caddr u 0 ) [: `/ SPLIT ?E0 2>R RESOLVEDN IF 2R> RESOLVEN IF 'TT3LIT EXIT THEN 2NIP 0 EXIT THEN 2R> 2DROP 0 ;] ?RETAIN2 ; \ NB: this RESOLVEDN resolver resolves \ a plain signed double number (without dot) 
Create a recognizer chain 
Create a resolver chain 
2 NEWRECOGNIZERSEQUENCE CONSTANT RECSEQLEXICONFRAC 'RECNT 'RECFRAC 2 RECSEQLEXICONFRAC SETRECOGNIZER : RECLEXICONFRAC RECSEQLEXICONFRAC RECOGNIZE ;  : RESOLVELEXICONFRAC RESOLVENATIVE ?ET RESOLVEFRAC ; 
Manage system's recognizer via the proposed API 
Manage system's resolver via the proposed API 
Temporary add a recognizer into the tail of the system's recognizer chain 
Temporary add a resolver into the tail of the system's resolver chain 
'RECFRAC FORTHRECOGNIZER GETRECOGNIZER 1+ FORTHRECOGNIZER SETRECOGNIZER \ ... \ Restore the system's recognizer FORTHRECOGNIZER GETRECOGNIZER 1 FORTHRECOGNIZER SETRECOGNIZER DROP  'RESOLVEFRAC ENQUEUEPERCEPTOR \ ... \ Restore the system's resolver REVERTPERCEPTOR 
Temporary add a recognizer into the head of the system's recognizer chain 
Temporary add a resolver into the head of the system's resolver chain 
FORTHRECOGNIZER GETRECOGNIZER 'RECLEXICONFRAC SWAP 1+ FORTHRECOGNIZER SETRECOGNIZER \ ... \ Restore the system's recognizer FORTHRECOGNIZER GETRECOGNIZER NIP 1 FORTHRECOGNIZER SETRECOGNIZER  'RESOLVELEXICONFRAC PREEMPTPERCEPTOR \ ... \ Restore the system's resolver REVERTPERCEPTOR 
Temporary replace the system's recognizer chain 
Temporary replace the system's resolver chain 
FORTHRECOGNIZER GETRECOGNIZER RECSEQLEXICONFRAC GETRECOGNIZER FORTHRECOGNIZER SETRECOGNIZER ( i*x i ) \ ... \ Restore the system's recognizer ( i*x i ) FORTHRECOGNIZER SETRECOGNIZER  PERCEPTOR ( xtpreviousresolver ) 'RESOLVELEXICONFRAC SETPERCEPTOR \ ... \ Restore the system's resolver ( xtpreviousresolver ) SETPERCEPTOR 
Call the current system's reconizer chain 
Call the current system's resolver chain 
FORTHRECOGNIZER RECOGNIZE ( caddr u  k*x rectype  rectypenull )  PERCEIVELEXEME ( caddr u  k*x xttt  caddr u 0 ) 
Define own modesTranslate the tokens in userdefined mode. 
Define own modesTranslate the tokens in userdefined mode. For example, to support macro. 
\ Impossible.  \ See the example of defining markup words \ to manage the new state, that affects translation \ in the own resolver chain 
Disadvantages
Advantages

Disadvantages
Advantages

Conclusion
Actually, these APIs can be implemented via each other, but Resolver API provides more basic approach.
The proposed Resolver API looks far better and more promising.