A smarter way to work with contracts