working with representative types