I would do it like this:
partitionTypeCs = partition f where
f (TypeC _) = False
f _ = True
I must admit that I don't understand why you don't like this. You can't compare against a constructor using equality because there is an unknown parameter involved. Pattern matching does exactly what must be done here.