Magik.Maybe.run

You're seeing just the function run, go back to Magik.Maybe module for more information.

This function is mostly used with with. In some case, you may want to invoke a function if it meets a specific condition without breaking with into 2 block like this

params = %{} with {:ok, data} <- insert_something(),

   :ok <- (if params.checked, do: do_something(data), else: :ok),
   {:ok, another_data} <- send_something(data) do
   # aha

end

This function help to write it shorter

params = %{} with {:ok, data} <- insert_something(),

    :ok <- Maybe.run(params.checked, &do_something(data)),
    {:ok, another_data} <- send_something(data) do
    # aha

end