     drop ;
 
 : compute-modular-candidates ( nodes -- )
-    H{ } clone modular-values set
-    H{ } clone fixnum-values set
+    HS{ } clone modular-values set
+    HS{ } clone fixnum-values set
     [ compute-modular-candidates* ] each-node ;
 
 GENERIC: only-reads-low-order? ( node -- ? )

    actually-used-by [ node>> only-reads-low-order? ] all? ;

: (compute-modular-values) ( -- )
    modular-values get keys [
        dup only-used-as-low-order?
        [ drop ] [ modular-values get delete-at changed? on ] if
    ] each ;

: compute-modular-values ( -- )

SYMBOL: modular-values

: modular-value? ( value -- ? )
    modular-values get in? ;

: modular-value ( value -- )
    modular-values get adjoin ;

! Values which are known to be fixnums.
SYMBOL: fixnum-values

: fixnum-value? ( value -- ? )
    fixnum-values get in? ;

: fixnum-value ( value -- )
    fixnum-values get adjoin ;

GENERIC: compute-modular-candidates* ( node -- )

