     out-sets ; inline
 
 M: dataflow-analysis join-sets 2drop assoc-refine ;
+M: dataflow-analysis ignore-block? drop kill-block?>> ;
 
 FUNCTOR: define-analysis ( name -- )
 

GENERIC: block-order ( cfg dfa -- bbs )
GENERIC: successors ( bb dfa -- seq )
GENERIC: predecessors ( bb dfa -- seq )

<PRIVATE


    bb in-sets maybe-set-at ; inline

:: compute-out-set ( bb in-sets dfa -- set )
    bb dfa ignore-block? [ f ] [ bb in-sets at bb dfa transfer-set ] if ;

:: update-out-set ( bb in-sets out-sets dfa -- ? )
    bb in-sets dfa compute-out-set
