BS-10195, move ContractValidator in dedicated package
BS-10261, accept multiple types, validate contract structure even if there are no rules