So so rephrase my question, why can't type classes be used as a type? Isthis an implementation issues, or is there a semantic problem with this?
Creating an existential type and packing all the values seems like busy work
which shouldn't be necessary, or at least something that the compiler should
be doing for me.