एक व्यावहारिक स्तर पर, अनुबंध दावे हैं। वे आपको किसी प्रोग्राम के व्यक्तिगत निष्पादन के गुणों (क्वांटिफायर-फ्री) की जांच करने देते हैं। अनुबंध की जाँच के दिल में मुख्य विचार दोष का विचार है - मूल रूप से, आप जानना चाहते हैं कि अनुबंध के उल्लंघन के लिए कौन गलती है। यह या तो एक क्रियान्वयन हो सकता है (जो इसके द्वारा दिए गए मूल्य की गणना नहीं करता है) या कॉल करने वाला (जिसने एक फ़ंक्शन को गलत प्रकार का मान दिया है)।
मुख्य अंतर्दृष्टि यह है कि आप डोमेन सिद्धांत के व्युत्क्रम सीमा निर्माण में एम्बेडिंग-प्रोजेक्शन जोड़े के रूप में एक ही मशीनरी का उपयोग करके दोष को ट्रैक कर सकते हैं। मूल रूप से, आप मुखरता के साथ काम करने से जोर देकर जोड़ियों के साथ काम करते हैं, जिनमें से एक प्रोग्राम के संदर्भ को दोषी ठहराता है और दूसरे को प्रोग्राम को दोष देता है। फिर यह आपको अनुबंधों के साथ उच्च-क्रम के कार्यों को लपेटने देता है, क्योंकि आप मुखरता की जोड़ी को स्वैप करके फ़ंक्शन स्थान के विपरीत को मॉडल कर सकते हैं। ( उदाहरण के लिए निक बेंटन का पेपर "अनडूइंग डायनामिक टंकण" देखें।)
आश्रित प्रकार प्रकार होते हैं। प्रकार यह निर्दिष्ट करने के लिए नियम निर्दिष्ट करते हैं कि कुछ कार्यक्रम स्वीकार्य हैं या नहीं। नतीजतन, उनमें दोष की धारणा जैसी चीजें शामिल नहीं हैं, क्योंकि उनका कार्य पहले से मौजूद गैर-व्यवहार वाले कार्यक्रमों को रोकना है। कुछ भी दोष नहीं है क्योंकि केवल सुव्यवस्थित कार्यक्रम भी व्याकरणिक कथन हैं। व्यावहारिक रूप से, इसका मतलब है कि क्वांटिफायर के साथ शर्तों के गुणों की बात करने के लिए निर्भर प्रकारों का उपयोग करना बहुत आसान है (उदाहरण के लिए, कि एक फ़ंक्शन सभी इनपुट के लिए काम करता है)।
ये दो विचार एक जैसे नहीं हैं, लेकिन वे संबंधित हैं। असल में, मुद्दा यह है कि अनुबंधों के साथ, हम मूल्यों के एक सार्वभौमिक डोमेन के साथ शुरू करते हैं, और अनुबंध का उपयोग चीजों को काटने के लिए करते हैं। लेकिन जब हम प्रकारों का उपयोग करते हैं, तो हम सामने वाले मूल्यों के छोटे डोमेन (वांछित संपत्ति के साथ) निर्दिष्ट करने का प्रयास करते हैं। इसलिए हम दोनों को संबंधों के प्रकार-निर्देशित परिवारों (यानी तार्किक संबंधों) के माध्यम से जोड़ सकते हैं। उदाहरण के लिए, अहमद, फाइंडर, सीक और वाडलर के हालिया "ब्लेम फॉर ऑल" , या रेनॉल्ड्स के "द मीनिंग ऑफ टाइप्स: इंट्रिंसिक से एक्सटेंसिक शब्दार्थ" देखें ।