While it is certainly possible to make illegal moves in the Diagram, this cannot be the full explanation. Because the Diagram would also see that move is ambiguous during generation of the notation, and then would disambiguate it. So when I move that Kangaroo to i10 in the position where the loading of the game stops, it adds the move Ghi10 to the game, rather than Gi10. It constructs the notation such that its parser can always read it back unambiguously. It will even allow different piece types to have the same piece ID, and will already add disambiguators if two pieces with the same ID can go to the same square. (This can be useful when you implement location-dependent moving by defining different types to be used in different locations for what is shown as the same piece.) A slight difference with standard notation in orthodox Chess is that it disambiguates based on pseudo-legality only, and won't rule out alternative moves just because they expose you to check. This because not all variants do have a checking rule.
While it is certainly possible to make illegal moves in the Diagram, this cannot be the full explanation. Because the Diagram would also see that move is ambiguous during generation of the notation, and then would disambiguate it. So when I move that Kangaroo to i10 in the position where the loading of the game stops, it adds the move Ghi10 to the game, rather than Gi10. It constructs the notation such that its parser can always read it back unambiguously. It will even allow different piece types to have the same piece ID, and will already add disambiguators if two pieces with the same ID can go to the same square. (This can be useful when you implement location-dependent moving by defining different types to be used in different locations for what is shown as the same piece.) A slight difference with standard notation in orthodox Chess is that it disambiguates based on pseudo-legality only, and won't rule out alternative moves just because they expose you to check. This because not all variants do have a checking rule.