Support functions.
Next step : Variables and modules.

Variables must reside in different module !
It can be achieved by moving types to appropriate namespace.
Not forget ! :)