type design strategy