, iter/2
, of_result/1
, of_undefined/1
+ , to_undefined/1
, validate/2
]).
of_undefined(undefined) -> none;
of_undefined(X) -> {some, X}.
+-spec to_undefined(t(A)) ->
+ undefined | A.
+to_undefined(none) -> undefined;
+to_undefined({some, X}) -> X.
+
-spec validate(t(A), fun((A) -> boolean())) ->
t(A).
validate(none, _) ->