  We explore an approach to type-directed program synthesis rooted in
constraint-based type inference techniques. By doing this, we aim to more
efficiently synthesize polymorphic code while also tackling advanced typing
features such as GADTs that build upon polymorphism. Along the way, we also
present an implementation of these techniques in Scythe, a prototype live,
type-directed programming tool for the Haskell programming language and reflect
on our initial experience with the tool.
