 
   def handle_cast({:pubsub_punsubscribe, channels, receiver}, s) do
     s
-    |> enqueue({:unsubscribe, channels, receiver})
+    |> enqueue({:punsubscribe, channels, receiver})
     |> send_noreply(Protocol.pack(["PUNSUBSCRIBE"|channels]))
   end
 

          new_queue = :queue.in_r({:subscribe, other_channels, receiver}, new_queue)
        end

        %{s | queue: new_queue}
      _ ->
        raise "oops"

          new_queue = :queue.in_r({:unsubscribe, other_channels, receiver}, new_queue)
        end

        send receiver, {:redix_pubsub, :unsubscribe, channel}

        %{s | queue: new_queue}
      _ ->
        raise "oops"
