typecheck: added combineSybTypes to generalize over subtype combination