playing with eexistential types