I'm creating a simple depiction of a Queue data structure, the code is very simple with just a matrix of math nodes and two extra nodes (one being enqueued and the other dequeued). When adding an edge from enqueued node to the queue representation, I get an arrow head on both ends, instead of only one. How can I solve this?
Here's an image of the problem:

And here's a minimal example to reproduce the issue:
\documentclass[crop]{standalone}
\usepackage{tikz}
\usetikzlibrary{matrix}
\usetikzlibrary{positioning}
\tikzstyle{box} = [rectangle, draw, text centered,
minimum height=1cm, minimum width=1cm]
\begin{document}
\begin{tikzpicture}
\matrix (q) [matrix of math nodes, nodes={box, thick}]
{
0 & 1 & 2 & 3 & 4 & 5 & 6 & 7 \
};
\node[box, thick, left=25pt of q, rotate=15] (enq) {};
\node[box, thick, right=25pt of q, rotate=-15] (deq) {};
\draw[->, thick]
(enq.east) edge [bend left] node [pos=0.5, above, sloped] { \tiny Enqueue } (q-1-1.west);
\draw[->, thick]
(q-1-8.east) edge [bend left] node [pos=0.5, above, sloped] { \tiny Dequeue} (deq.west);
\end{tikzpicture}
\end{document}
PS: if I remove the explicit anchors from the edge definition, the extra arrow heads are removed, but the edge is placed a little too high.

toinstead ofedge. See for example https://tex.stackexchange.com/questions/169564/ https://tex.stackexchange.com/questions/15567/ https://tex.stackexchange.com/questions/82326/ – Torbjørn T. Nov 27 '22 at 15:15