Of course this is probably at odds with cycles-based thinking; A complex pattern can get very long when fully unfolded. I haven't fooled around with making a function to use in strudel itself yet, but the concept works in theory; taking an array of notes and an array of durations:
```
let pattern = interlace(
["0", "2", ["4", "~", "3"], ["6", ["4", "2"]]],
["1", ".5", "1", ".5"]
);
```
you can make
```
<0@1 [email protected] 4@1 [email protected] 0@1 [email protected] ~@1 [email protected] 0@1 [email protected] 3@1 [email protected] 0@1 [email protected] 4@1 [email protected] 0@1 [email protected] ~@1 [email protected] 0@1 [email protected] 3@1 [email protected] 0@1 [email protected] 4@1 [email protected] 0@1 [email protected] ~@1 [email protected] 0@1 [email protected] 3@1 [email protected] 0@1 [email protected] 4@1 [email protected] 0@1 [email protected] ~@1 [email protected] 0@1 [email protected] 3@1 [email protected] >
```