@argv_minus_one Correct, although the bug affects both case 1 and case 3.
As for your latter point, in this case, Point is a C# struct, so no allocation takes place. (Also, that was a relic of older code where an additional transformation took place at the end. It is a bit redundant now.)