Usage of `auto foo = val;` was causing multithreaded code to end up serializing