soml was updated to have a typed ast layer to make programatic creation easier this brings LOTS of syntax change with it, that does not really mean anything at all All tests pass again so back to the same
logic was broken, or inversed had to lay the code out a bit funny, but it works and makes sense
somewhat easier to understand the code as a linked list relatively painless change, considering