pub fn relate_args_invariantly<I, R>(
    relation: &mut R,
    a_arg: <I as Interner>::GenericArgs,
    b_arg: <I as Interner>::GenericArgs,
) -> Result<<I as Interner>::GenericArgs, TypeError<I>>where
    I: Interner,
    R: TypeRelation<I>,pub fn relate_args_invariantly<I, R>(
    relation: &mut R,
    a_arg: <I as Interner>::GenericArgs,
    b_arg: <I as Interner>::GenericArgs,
) -> Result<<I as Interner>::GenericArgs, TypeError<I>>where
    I: Interner,
    R: TypeRelation<I>,