Condition-aware type analysis introduced