type-based learning