Usage static asserts as design-by-contract conditions translation