 
 <PRIVATE
 
-: (add-qualified) ( qualified -- )
-    manifest get qualified-vocabs>> push ;
-
 : (from) ( vocab words -- vocab words words' vocab )
     2dup swap load-vocab ;
 

: (lookup) ( name assoc -- word/f )
    at* [ dup forward-reference? [ drop f ] when ] when ;

: (use-words) ( assoc -- extra-words seq )
    <extra-words> manifest get qualified-vocabs>> ;

PRIVATE>

: set-current-vocab ( name -- )
    create-vocab
    [ manifest get current-vocab<< ] [ (add-qualified) ] bi ;

: with-current-vocab ( name quot -- )
    manifest get clone manifest [

<PRIVATE

: (vocab-search) ( name assocs -- words n )
    [ words>> (lookup) ] with map sift dup length ;

: vocab-search ( name manifest -- word/f )
    search-vocabs>>
