using ContractsMeta from PyContracts 1.6