reverse2(Xs, Rs) :- reverse2(Xs, Rs, []).
reverse2([], Rs, Rs).
reverse2([X|Xs], Rs, Ts) :- reverse2(Xs, Rs, [X|Ts]).


reverse_dl(Xs, Rs) :- reverse_dl_aux(Xs, Rs - []).

reverse_dl_aux([], T - T).
reverse_dl_aux([X|Xs], Rs - T) :- reverse_dl_aux(Xs, Rs - [X|T]).
