refactor: combine disparate semanticRun's
Merge pull request #2532 from WalterBright/refactor-semanticRun

refactor: combine disparate semanticRun's