type-based result generation