 GENERIC: crossref? ( word -- ? )
 
 M: word crossref?
-    {
-        { [ dup "forgotten" word-prop ] [ f ] }
-        { [ dup word-vocabulary ] [ t ] }
-        { [ t ] [ f ] }
-    } cond nip ;
+    dup "forgotten" word-prop [
+        drop f
+    ] [
+        word-vocabulary >boolean
+    ] if ;
 
 GENERIC# (quot-uses) 1 ( obj assoc -- )
 

    { "methods" "combination" "default-method" } reset-props ;

: gensym ( -- word )
    "G:" \ gensym counter number>string append f <word> ;

: define-temp ( quot -- word )
    gensym dup rot define ;

! See http://factorcode.org/license.txt for BSD license.
USING: arrays definitions graphs assocs kernel kernel.private
slots.private math namespaces sequences strings vectors sbufs
quotations assocs hashtables sorting words.private vocabs ;
IN: words

: word ( -- word ) \ word get-global ;
