:- module(_, [append/3], [assertions, regtypes, nativeprops,
	          rtchecks_shallow, predefres(res_steps)]).

:- entry append/3 : lnum * lnum * var.

:- pred append(A,B,C):(lnum(A),lnum(B),var(C)) => (lnum(A),lnum(B),lnum(C)).
append([],L,L).
append([A|R],S,[A|L]) :- append(R,S,L).

:- regtype lnum/1.
lnum([]).
lnum([X|T]):-
	num(X),
	lnum(T).