/ arguments, k primitives, parse-trees A:`$'_ci 97+!26 K:{.:''(x,'":";x)}"~!@#$%^&*-_=+|:,<.>?" L:({(`a`b;`a`b;(x;);1 0)}';{(`a`b`c;`a`b`c;(x;;);1 0 0)}')@'K K:,/K;L:,/L valence:{:[@x;+/~L[K?x;3];+/~x 3]} compose:{ i:j:k:0;d:e:f:g:() do[#x|: if[~l:7=4:a:x i;c:1;d,:c#k _ A;e,:i;g,:,a;j+:1] if[l;b:valence a;c:0|b-j+~~i;d,:c#k _ A;e,:c#i;g,:c#_n;j:0] f,:c#~l;k+:c;i+:1] (d;e;f;g)} x:(%;2;*;!:;-;+) compose x