:- module(append_list, [append_list/3]).
:- style_check(-singleton).
exls(L) :-
    append([a], /* 0 */ [ /* 1 */ ] /* 2 */, L).
exls(L) :-
    append([a], [f(_B) /* 1 */] /*2*/, L).
exls(L) :-
    append([a], [f(b)], L).

append_list(A, T, C) :-
    append([ /*1*/A,
             /*2*/A], /*3*/ T, C).
append_list(A1-A2, T, C) :-
    append([ [ _, [ A1 ] ] ], [ [ _, [ A2 ] ], [ _, [ T ] ] ],
           C).