Pretty nice. I hope future versions will allow some sort of embedded structures, eg for this segments let p1 = scat [c..c']^/4 p2 = delay (1/4) $ scat [c..c']^/4 p3 = delay (3/4) $ scat [c..c']^/4 in (accent . legato) (p1 p2 p3) I would have expected something like p2 = delay (1/4) $$ [p1] or somesuch (sorry about the notation, I've never used Haskell - my point is about the nesting). I would also love to see ways to…
let p1 = scat [c..c']^/4
p2 = delay (1/4) p1
p3 = delay (3/4) p1
in (accent . legato) (p1 p2 p3)
It's a full programming language so you can do a lot more than that!