       42
   """
   @spec peek(Phoenix.Socket.t(), atom | nil, String.t() | nil, atom | String.t()) :: term | no_return
-  def peek(socket, view, partial, assign) when is_binary(assign) do
+  def peek(socket, view, partial, assign) when is_atom(assign) do
     view = view || Drab.get_view(socket)
     hash = if partial, do: partial_hash(view, partial), else: index(socket)
 


    updated_assigns =
      current_assigns
      |> Enum.map(fn {k, v} -> {String.to_existing_atom(k), v} end)
      |> Keyword.merge(assigns)

    modules = {


  @spec assign_data_for_partial(Phoenix.Socket.t(), String.t() | atom, String.t() | atom) :: map | no_return
  defp assign_data_for_partial(socket, partial, partial_name) do
    assigns = case socket
         |> ampere_assigns()
         |> Map.fetch(partial) do
      {:ok, val} ->
