Already asked this in digitalmars.D.learn, but ... What is the difference between: void bar(const scope someStruct foo) and void bar(final const scope someStruct foo) ( = void bar(in someStruct foo) ) ?