type voyel = Sounds.t type 'a consonants = { ending : 'a option option ; opening : 'a list ; following : 'a option } type 'a group = voyel * 'a consonants option type 'a t = 'a group * 'a option option type 'a modifier = Sounds.t t -> Sounds.t t