unsafeCoerce :: (Typeable a, Typeable b, Language lid1, Language lid2)
             => lid1 -> lid2 -> a -> b
unsafeCoerce i1 i2 a = maybe (error "unsafeCoerce") id $ primCoerce i1 i2 "" a
unsafeCoerce :: (Typeable a, Typeable b, Language lid1, Language lid2)
             => lid1 -> lid2 -> a -> b
unsafeCoerce i1 i2 a = maybe (error "unsafeCoerce") id $ primCoerce i1 i2 "" a
unsafeCoerce i1 i2 a = maybe (error "unsafeCoerce") id $ primCoerce i1 i2 "" a