Rewrite hands on solution by separating declaration and definition
This way, no questions about relative ordering of definitions, and it's closer ti wht we do in the real world.
However it implies to do a bit more replacements in some hands on.
@vrouvrea Please tell if you think it's misguided