Agreed. I can prototype an idea almost entirely in types, and if the types make sense, then the implementation often follows naturally.