Library to support contract programming in C++