@5a5dfae4 I'm trying to calculate music stuff, which is basically all shifting lists to do key changes and mode changes, so this produces lists that wrap around instead of giving indexerrors and allows easily getting the same list with an offset.
@ec6e9c30 Is it statically sized?
@5a5dfae4 this is basically all readonly, I probably could've used tuples everywhere. No reason why this couldn't work on a dynamically sized list though, it's very simple code. Here _notes and _intervals are both instances of this class https://cdn.fosstodon.org/media_attachments/files/111/060/021/301/922/031/original/365288aa3c830bf8.png