func (this If) TypeCheck(typeCheckArgs interfaces.TypeCheckArgs) { checkForNonBoolCondition(this.Condition(), typeCheckArgs) this.Condition().TypeCheck(typeCheckArgs) typeCheckArgs = typeCheckArgs.AddConditionDependentOn(this.Condition()) this.Body().TypeCheck(typeCheckArgs) }