optimized record and range types