Preparing type variables
Implemented type variables