wrapError :: forall outertag innertag t outer inner m a. ( forall x. Coercible (t m x) (m x) , forall m'. (HasCatch outertag outer m') => HasCatch innertag inner (t m') , HasCatch outertag outer m ) => (forall m'. (HasCatch innertag inner m') => m' a) -> m a