Not sure how well this would work in practice but hopefully we can come up with something that's better than doing it manually at every call-site.