Finding a clear and expressive way to describe how a system can be adapted and to which constraints adaptations should comply is one of the most compelling problems in the development of adaptive software. While currently the possibilities for adaptation are mostly described in an informal way, we show how type information can be used to achieve a more controllable model of modification. We fir...