Copat: using sized types & copatterns.