I thought about that, but it felt a bit "side-effecty" cause then its semantics get a bit overloaded. Up to you