It's pretty tricky for the runtime to figure out that there are no side-effects, and that s.Min is not going to change, if the implementation behind it actually walks some nodes. Among other things, it would require it to prove that none of the walked nodes ever mutate anywhere else (don't forget that this includes backdoors like reflection).