As names, car and cdr are great: short, and just the right visual distance apart. The only argument against them is that they're not mnemonic. But this is a weak argument.
Because cons is not the primitive that makes them. That's join. It would have been weird for join to make things with the name of a function built on top of it. So I could use cons for the name of the function or the name of the type, but not both, and I chose the former.