Chapter 9 Advanced Contract Programming with Interfaces