Hybrid programs combine classical program constructs with differential equations, and thus naturally appear in a wide range of application domains, from biology and control theory to software engineering. This ability to entangle discrete and continuous behaviour, however, yields aspects unusual to computer science and renders the formal design of hybrid programs a difficult task, not properly handled by the current programming theory and practices.