`Timeout` should have type `non_neg_integer()`, otherwise Dialyzer complains about the return type not being a subtype of the callback return value.