Generalize semantic2 and semantic 3
Always delay static-if condition evaluation