What if we say:
> where `t` is a natural transformation

I believe that's all we need to express in the law.

I 100% agree that Hindley-Milner is probably not the best way to express this to javascript developers coming from all different backgrounds. (scala/f#/haskell/clojure)