c2l((A,B),[A|T]) :- !,c2l(B,T).
c2l(A,[A]).

demand(X,Y) :- retractall(option(X,_)), assert(option(X,Y)).
