Added design-by-contract macros.