A transcript from a deeply insightful @strangeloop_stl 2018 talk: comparing software design to programs that generate programs. Deductive synthesis can give us insights on choosing abstractions, and counter-example guided synthesis is much like TDD! https://www.pathsensitive.com/2018/12/my-strange-loop-talk-you-are-program.html