compact type definitions