Design by Typing