If you want to know more how natural transformations are used in Я I recommend you to check out Natural transformation as a basis of control article.

Overview

Natural Transformation is a basic building block of control flow in Я. Actually everything is deriving from this term, even Category and Functor (which is definetely a noncense from theoretical point of view, but this design choice let us to use these definitions interchangeably in Haskell type system).

Transformation is a mapping between functors such that:

TT[f]  η[a]  η[o]  T[f]

So as you can see on the commutative diagram above, it doesn’t really matter which way we are going to choose, they are equivalent.

Component

η from a law above is called a component of a natural transformation. It maps objects:

η[a]: T[a] `AR__` TT[a]
η[o]: T[o] `AR__` TT[o]