You add x to the result of applying the queue to the rest of y, without using the first element of y at all. So basically you throw away all y values and replace them with x.
Instead, you want to do (cons (list x (first y)) (queue x (rest y)))))).
Of course, you can only use the map for this, but I assume this is an exercise in recursion.
source
share