Why are ir/h references saved to the struct? It doesn't look like they're used outside the Run where they're already in scope.