% Source: http://www.cs.kuleuven.ac.be/~dtai/prototypes/dppd/rev_acc_type.html
rev([],_A,_A).
rev([_H|_T],_Acc,_Res) :-
	is_list(_Acc),
	rev(_T,[_H|_Acc],_Res).


is_list([]).
is_list([_H|_T]) :- is_list(_T).
