1 Introduction 1.1 Inheritance and delegation 2 Implementation 2.1 Receiver splitting 2.2 Multi-dimensional dynamic bind 3 A short example 4 Caveats 5 Applications 6 Acknowledgements