clean up some code and generate LetRefNodes in expected order for assignment unrolling
make item types of tuple/array unpacking inferable and institutionalise the IndexNode creation for the inference
tighten test assertions to make sure we correctly infer the target type during C array unpacking