Queues are identical to lists, except for the fact appending to the end - not to the begin - has constant time.
Queues are commonly understood to be FIFO structures, which are not "identical to lists apart from appending to the end". With queues, you typically write to the tail and read from the head; this is an entirely different semantic.
If you mean a LIFO structure, then you're really talking about a stack, which is how Lists are most commonly used in recursive/functional code. In which case, why do you care that we call the location that we read from and write to the head or the tail? The way of working with it would be the same either way. The only context in which it would make a difference is where the list is also being used as a string (a rather mundane concern).
Lists/stacks are very useful structures in functional programming:
- The head can represent the state of a computation.
- The structure is persistent, minimizing copying while preserving immutability.
- head and tail access in constant time with a much simpler structure than any indexed type (simpler underlying code etc).
Queues lose some of these benefits (e.g. persistence) and add complexity to no gain. If the main benefit is that you find queues easier to understand, try harder.