Adds a test for LNode functionality and reuses more symbols in the generators,
which should make it easier to apply optimisations, as they will now have the same id() throughout.
coverage: 79.483% (+0.2%) from 79.321% when pulling 083af78c83861bf1100f2ba7ebe09dbfabca3ea2 on chris/test-lnodes into 2b1e8b9763476ee5aec3b75cd5f8310752b5b1e2 on main.
Adds a test for LNode functionality and reuses more symbols in the generators, which should make it easier to apply optimisations, as they will now have the same
id()
throughout.