¿Por qué son necesarios los operadores de pin en las consultas Ecto?

En Elixir, el operador de pin se usa para evitar el reenrollado variable. Sin embargo, con respecto a una consulta Ecto como

from u in User, where: u.username == ^username

los autores deProgramando Phoenix declarar (en el capítulo 7) que

Recuerde, el operador ^ (llamado operador de pin) significa que queremos mantener^ nombre de usuario lo mismo.

Pero esto no suena bien, porque aparentemente, la comparación en la consulta no causará ninguna nueva vinculación de variables.

¿Están equivocados los autores del libro (del cual José Valim fue coautor)? ¿El operador de pin en consultas Ecto es simplemente una construcción del Ecto DSL en lugar de un operador de pin Elixir habitual? ¿O la consulta realmente tendrá la oportunidad de volver a enlazarusername después de que se expanden las macros?

Respuestas a la pregunta(3)

Su respuesta a la pregunta