% ?- length("abc", N).
% N = 3.
% ?- length(Xs, 3).
-% Xs = [_A, _B, _C].
+% Xs = [_A,_B,_C].
% ```
length(Xs0, N) :-
%
% ```
% ?- select(c, "abcd", X).
-% X = "abd".
+% X = "abd"
+% ; false.
% ```
select(X, [X|Xs], Xs).
select(X, [Y|Xs], [Y|Ys]) :- select(X, Xs, Ys).
%
% ```
% ?- append([[1, 2], [3]], Xs).
-% Xs = [1, 2, 3].
+% Xs = [1,2,3].
% ```
append([], []).
append([L0|Ls0], Ls) :-
%
% ```
% ?- append([1,2,3], [4,5,6], Xs).
-% Xs = [1, 2, 3, 4, 5, 6].
+% Xs = [1,2,3,4,5,6].
% ```
append([], R, R).
append([X|L], R, [X|S]) :- append(L, R, S).