Add possibility to define type constraints