view0: design interfaces by hand abstract into functions abstract common pieces via multiple values view: replace the multiple values abstraction with classes data-def0 everything is a list data-def unions (dt) becomes a struct so that I could add common fields draw-txt0 explorative prototype