%0 Table {ask.Relation Any Any;assert.Relation Any Any;delete.Relation Any;get.Relation Any Any;new.Relation Any;retract.Relation Any Any;set.Relation Any Any}
% 
% module
% 7
mutable_7(_s,_s2,_upvals):-_upvals=[],(assert_(_s,_s2)).
% 6
mutable_6(_s,_s2,_upvals):-_upvals=[],(assert_get(_s,_s2)).
% 5
mutable_5(_s,_s2,_upvals):-_upvals=[],(assert_(_s,_s2)).
% 4
mutable_4(_s,_upvals):-_upvals=[],(atom_string(_o,_s),nb_delete(_o)).
% 3
mutable_3(_s,_o2,_upvals):-_upvals=[],(atom_string(_o,_s),nb_setval(_o,_o2)).
% 2
mutable_2(_s,_o,_upvals):-_upvals=[],(atom_string(_o_,_s),nb_getval(_o_,_o)).
% new
mutable_new(_t,_upvals):-_upvals=[],(true).
% main
mutable(X):-_new = clos([],mutable_new),new(T1),set_(T1,"new",_new,T3),set_(T3,"get",clos([],mutable_2),T4),set_(T4,"set",clos([],mutable_3),T5),set_(T5,"delete",clos([],mutable_4),T6),set_(T6,"assert",clos([],mutable_5),T7),set_(T7,"ask",clos([],mutable_6),T8),set_(T8,"retract",clos([],mutable_7),T2),_t = T2,X=_t.