-->
Just as regular functions some types could also have arguments:
Supplying parameters to these types is called saturation.
In example above we put a space character between to saturate a type. However, if a parameter type also has its own parameters we have to use parentheses:
In order to abolish parentheses you can use a special type operator called T:
Alternatively there is another type operator with higher starting precedence called T'I:
Both of those type operators could be stretched to decrease precedence:
Since all operators in Я are left associative it's more convenient to add new functor layers from left to right:
In Я almost all polymorphic types (except Recursive) are functors. Therefore you can form a functor composition if you want to avoid saturation:
There is another way to form a new functor from others called Jointing.