       false
 
   """
-  @spec enable(atom, options) :: {:ok, true}
+  @spec enable(atom, options) :: {:ok, true} | {:error, any}
   def enable(flag_name, options \\ [])
 
   def enable(flag_name, []) when is_atom(flag_name) do
-    {:ok, flag} = @store.put(flag_name, Gate.new(:boolean, true))
-    verify(flag)
+    gate = Gate.new(:boolean, true)
+    case @store.put(flag_name, gate) do
+      {:ok, flag} -> verify(flag)
+      error -> error
+    end
   end
 
   def enable(flag_name, [for_actor: nil]) do


  Useful for debugging.
  """
  @spec get_flag(atom) :: FunWithFlags.Flag.t | nil
  def get_flag(name) do
    {:ok, names} = all_flag_names()
    if name in names do
      {:ok, flag} = Config.persistence_adapter().get(name)
      flag
    else
      nil
    end
  end


      {:ok, false}

  """
  @spec disable(atom, options) :: {:ok, false} | {:error, any}
  def disable(flag_name, options \\ [])

  def disable(flag_name, []) when is_atom(flag_name) do
    gate = Gate.new(:boolean, false)
    case @store.put(flag_name, gate) do
      {:ok, flag} -> verify(flag)
      error -> error
    end
  end

  def disable(flag_name, [for_actor: nil]) do
