(nearly) minimal changes for warning-free compilation on Linux, mostly signed-vs-unsigned, followed by unused variables, followed by class member initialisation order