Design with Type