not `Option` because of performance?
in that case you might want to avoid the tuple allocation as well, otherwise I would prefer `Option`