function mult(m: poly<a>((a->a)->(a->a)), n: poly<b>((b->b)->(b->b))): poly<c>(c->c)->(c->c) = let function g<d>(f:d->d) : d->d = in g end