t() :: term()
add_then(t(), [{:callback, (any() -> any())}]) :: t()
evaluate(t()) :: t()
evaluate_once(t()) :: t()
get_value(t()) :: any() | nil