// unfold infinite sequences. Nigel Galloway: September 8th., 2022 function unfold(n:Func; g:gG): sequence of gN; begin var (x,r):=n(g); yield x; yield sequence unfold(n,r); end; function unfold(n:Func;params g:array of gG): sequence of gN := unfold(n,g);