@neauoire I see you've expanded it a bit since I read it last. There are still bits that go over my head, but it's clearer now.
Are lambda blocks preceded by immediate runes treated differently by the assembler than those without? The JCI case seems to insert the jump offset following the immediate opcode, whereas it sounds like the others use an immediate jump as well as push the start pointer to the return stack.
@tbsp The way it works behind the scene is interpreting a single { as a JSI looking for a closing label called "lambdaXX". You can use runes with it like any other label, it's dynamically looking for its closing bracket. So you could do ={ }, -{ }, !{ }, etc..
C: https://git.sr.ht/~rabbits/uxn/tree/main/item/src/uxnasm.c#L195
tal: https://git.sr.ht/~rabbits/drifblim/tree/main/item/src/drifblim.tal#L305