Do you want to create robust and composable abstractions? Conal Elliott’s Denotational Design is an iterative process to define the essence of a domain and build in composability. The resulting abstractions lead to more robust code at the core of your application and can give your business a competitive advantage. This is the process that created Functional Reactive Programming. We will apply this process to the Quil graphics library to develop a composable vector graphics system.