Matching polykinded family instance declarations

I am trying to write two type instances that match only on the kind of of the type variable is this possible?

This is what I want to work

type LiftingWriter :: t -> *
type family LiftingWriter t
type instance LiftingWriter (t w m a :: Type) = LiftWriter t w m a 
type instance LiftingWriter (t r w s m a :: Type) = LiftWriterRWS t r w s m a 

type LiftWriter :: (* -> (* -> *) -> * -> *) -> * -> (* -> *) -> * -> *
newtype LiftWriter t w m a = LiftWriter {runLiftWriter :: t w m a}

type LiftWriterRWS :: (* -> * -> * -> (* -> *) -> * -> *) -> * -> * -> * -> (* -> *) -> * -> *
newtype LiftWriterRWS t r w s m a = LiftWriterRWS {runLiftWriterRWS :: t r w s m a}

This:

type LiftingWriter :: forall t. t
type family LiftingWriter
type instance LiftingWriter = LiftWriter
type instance LiftingWriter = LiftWriterRWS

?