emptyniltrueemptyconsxlfalseheadconsxlxtailnilniltailconsxllrevnilnilrevconsxlconsrev1xlrev2xllastxlifemptylxliftruexlxiffalsexllastheadltaillrev2xnilnilrev2xconsylrevconsxrev2ylrevconsxlrev2xllastxlemptyllastxlifemptylxliffalsexltailliffalsexlheadliffalsexllastheadltaillrev2xconsylrev2ylrev2xconsylrevconsxrev2yltruerev2xconsylrev2ylrev2xconsylrevconsxrev2ylrevconsxlrev2xltrueiffalsexllastheadltailllastxlifemptylxltrueiffalsexlheadlfalseiffalsexltaillfalselastxlemptylfalse