also, gcc and llvm can infer restrict much of the time if you don't manually use it
and I fail to see how having explicit control over struct layout is ever a bad thing