Types restructuring