   defp command_from_words(words) when is_list(words), do:
     String.to_atom(List.first(words))
 
-  defp reserved_error(query, s) do
-    err = ArgumentError.exception("query #{inspect query} uses reserved name")
-    {:error, err, s}
-  end
+  # defp reserved_error(query, s) do
+  #   err = ArgumentError.exception("query #{inspect query} uses reserved name")
+  #   {:error, err, s}
+  # end
 end


  @spec checkout(state) ::
    {:ok, state} | {:disconnect, Sqlite.DbConnection.Error.t, state}
  def checkout(%{checked_out?: true} = s), do:
    {:disconnect, :already_checked_out, s}  # FIXME: Proper error here
  def checkout(%{checked_out?: false} = s), do:
    {:ok, %{s | checked_out?: true}}

  @spec checkin(state) ::
    {:ok, state} | {:disconnect, Sqlite.DbConnection.Error.t, state}
  def checkin(%{checked_out?: false} = s), do:
    {:disconnect, :not_checked_out, s}  # FIXME: Proper error here
  def checkin(%{checked_out?: true} = s), do:
    {:ok, %{s | checked_out?: false}}


    case query do
      %Query{prepared: nil} ->
        query_error(s, "query #{inspect query} has not been prepared")
      %Query{prepared: stmt} ->
        case run_stmt(stmt, params, s) do
          {:ok, result} ->
