simplified generalization of types in preparation for full_context_dependency