Comprehensive contractual description of Web Services and Web Service compositions is needed for selection of appropriate Web Services and their service and quality of service (QoS) levels, for monitoring of operation of Web Services, and for management of Web Services and Web Service compositions. We systematically examined what types of technical contracts are useful for Web Services and Web Service compositions and classified them into three categories: functional, quality, and infrastructure contracts. Functional contracts include syntactic, behavioral, synchronization, and compositional contracts; quality contracts include QoS and pricing contracts; while infrastructure contracts include communication, security, and management contracts. Our study of how prominent Web Service languages can or cannot be used for specification of these contract types shows that they enable specification of only particular types of contracts, sometimes even in incompatible ways. Consequently, we adv...