I have been staring at Prolog toplevel results like these for some time now:
?- reverse([X,Y,Z],[Y,Z,Y]). X = Y, Y = Z.
And it just occured to me