Currently it has this type:
runCancelT :: ParMonad p => CancelT p e s a -> p e s a
From the type it seems like CancelT computation should always return an a, but that's not the case, for example:
runCancelT (cancelMe >> return a)
This shouldn't return anything. (I haven't tested it yet, so I don't know what's happening when this expression run using current version)