Design with Types.