lib/result/utils.ex
defmodule Result.Utils do
@moduledoc """
A result utility functions
"""
@spec check(Result.t(a, b)) :: Result.t(a, b) when a: var, b: var
def check({state, _} = result) when state in [:ok, :error] do
result
end
def check(value) do
raise Result.TypeError, value
end
end