 
 : answer-ands ( partition -- partition' )
     dup [ integers>> ] [ not-simples>> ] [ simples>> ] tri 3append
-    '[ [ _ [ f substitute ] each ] map ] change-and ;
+    '[ [ _ [ f (substitute) ] each ] map ] change-and ;
 
 : tautology? ( partition -- ? )
     {

M: and-class class-member?
    seq>> [ class-member? ] with all? ; inline

DEFER: substitute

: flatten ( seq class -- newseq )
    '[ dup _ instance? [ seq>> ] [ 1array ] if ] map concat ; inline


: answer-ors ( partition -- partition' )
    dup [ not-integers>> ] [ not-simples>> ] [ simples>> ] tri 3append
    '[ [ _ [ t (substitute) ] each ] map ] change-or ;

: contradiction? ( partition -- ? )
    {
