Substitutor: <map substitutor: {M = K, N = I}> then <map substitutor: {K = T, I = X}>
Substituted callables:
  context(Pair<T, X>) Generic<T, X>.foo(): Pair<T, X>

  context(Pair<T, X>) Generic<T, X>.bar: Pair<T, X>