Experimenting with predicated types