side-effects in c# draft