isEmptyconsxxsfalseisEmptyniltrueisZero0trueisZerosxfalseheadconsxxsxtailconsxxsxstailnilnilappendnilxconsxnilappendconsyysxconsyappendysxpssxspsxps00p00incsxsincxinc0s0addListsxsyszsifisEmptyxsisEmptyysisZeroheadxstailxstailysconspheadxstailxsconsincheadystailyszsappendzsheadysiftruetruebxsysxs2ys2zszs2zsiftruefalsebxsysxs2ys2zszs2differentLengthErroriffalsetruebxsysxs2ys2zszs2differentLengthErroriffalsefalsefalsexsysxs2ys2zszs2addListsxs2ys2zsiffalsefalsetruexsysxs2ys2zszs2addListsxsyszs2addListxsysaddListsxsysnil