result() :: {:ok, pid()} | any()
process((() -> any())) :: result()
process(fun :: (() -> any())) :: result()