 
 CONSTANT: trivial-defs
     {
-        [ drop t ] [ drop f ]
-        [ 2drop t ] [ 2drop f ]
-        [ 3drop t ] [ 3drop f ]
-        [ ">" write ] [ "/>" write ]
-        [ length 1 - ] [ length 1 = ] [ length 1 > ]
-        [ drop f f ] [ drop f t ] [ drop t f ] [ drop t t ]
-        [ 2drop f f ] [ 2drop f t ] [ 2drop t f ] [ 2drop t t ]
-        [ drop f f f ]
-        [ nip f f ]
+        [ ">" write ] [ "/>" write ] [ " " write ]
         [ 0 or + ]
-        [ dup 0 > ] [ dup 0 <= ] [ dup 0 < ]
-        [ over 0 > ] [ over 0 <= ] [ over 0 < ]
         [ dup length iota ]
         [ 0 swap copy ]
-        [ dup 1 + ] [ drop 1 + ]
+        [ dup length ]
+        [ 0 swap ]
+        [ 2dup = ] [ 2dup eq? ]
+        [ = not ] [ eq? not ]
+        [ boa throw ]
+        [ with each ] [ with map ]
+        [ curry filter ]
+        [ compose compose ]
+        [ empty? ] [ empty? not ]
+        [ dup empty? ] [ dup empty? not ]
     }
 
 : lintable-word? ( word -- ? )

        ! Remove stuff with wrappers
        [ [ wrapper? ] any? ]

        ! Remove numbers/t/f only defs
        [
            [ { [ number? ] [ t? ] [ f eq? ] } 1|| ] all?
        ]

        ! Remove [ tag n eq? ]

: ignore-def? ( def -- ? )
    {
        ! Remove small defs
        [ length 1 <= ]

        ! Remove trivial defs
        [ trivial-defs member? ]
