Well, you need terms that apply to the first and second halves of a pair as well as the first element in a list and all the rest of the list. First and second work for lists of two items, but they don't feel right to me for longer lists.
Also, they aren't the same length, and that would bother me. I'd prefer left and rite. Or alpha and omega. Or mom and pop. Then you can compose them into mop. Or maybe I'd better leave it to Paul, as I obviously can't be trusted with this kind of thing.
I guess I wasn't really thinking about why choose those names. If it was just that you could have whatever you like - I like (hd x) and (tl x) but that's me. Or even (0 x) and (1: x) could work. A rose is a rose and all that.
What I was really thinking about were things like why have pairs as a primitive and why enshrine the idea of lists as pairs linked up in a certain way?
From ac.scm, it looks like the current set of primitives are:
Also, they aren't the same length, and that would bother me. I'd prefer left and rite. Or alpha and omega. Or mom and pop. Then you can compose them into mop. Or maybe I'd better leave it to Paul, as I obviously can't be trusted with this kind of thing.