     drop f ;
 
 : subseq/member? ( subseq/member seq -- ? )
-    { [ 2dup start ] [ 2dup member? ] } || 2nip ;
+    { [ start ] [ member? ] } 2|| ;
 
 M: callable lint ( quot -- seq )
     def-hash-keys get [
         swap subseq/member?
-    ] with subset ;
+    ] with filter ;
 
 M: word lint ( word -- seq )
-    word-def dup callable? [ lint ] [ drop f ] if ;
+    def>> dup callable? [ lint ] [ drop f ] if ;
 
 : word-path. ( word -- )
-    [ word-vocabulary ":" ] keep unparse 3append write nl ;
+    [ vocabulary>> ":" ] keep unparse 3append write nl ;
 
 : (lint.) ( pair -- )
     first2 >r word-path. r> [

        dup first2 [ number? ] both?
        swap third \ shift = and not
    ] [ drop t ] if
] assoc-subset 

! Remove [ n slot ]
[
    drop dup length 2 = [
        first2 \ slot = swap number? and not
    ] [ drop t ] if
] assoc-subset def-hash set-global

: find-duplicates
    def-hash get-global [
        nip length 1 >
    ] assoc-subset ;

def-hash get-global keys def-hash-keys set-global



GENERIC: run-lint ( obj -- obj )

: (trim-self) ( val key -- obj ? )
    def-hash get-global at* [
        dupd remove empty? not
    ] [
