-type opt() :: {timeout, integer()}.
-type t() :: [opt()].
-spec get([opt()], atom()) -> {ok, term()} | error.
-spec take([opt()], atom()) -> {ok, {term(), list()}} | error.