 
   @doc false
   def disconnect(error, s) do
-    # We only care about {_, from} tuples, ignoring queued stuff like
+    # We only care about {from, _} tuples, ignoring queued stuff like
     # :fetch_schema.
-    for {_operation, from} <- :queue.to_list(s.queue) do
+    for {from, _operation} <- :queue.to_list(s.queue) do
       Connection.reply(from, error)
     end
 

  defp enqueue(s, what) do
    update_in s.queue, &:queue.in(what, &1)
  end
end

    {:reply, {:error, :closed}, s}
  end

  def handle_call({:operation, op_name, args}, from, s) do
    req = Protocol.encode_op(op_name, [sid|args])
    send_noreply_enqueueing(s, req, {from, op_name})
  end

  @doc false
  def handle_cast(:fetch_schema, s) do
    args = [sid, {:short, 0}, {:long, 1}, "*:-1", true, false]
    req = Protocol.encode_op(:record_load, args)

