hmm.. i'm trying to think of an algorithm that takes a list of elements and returns a list with every way to take the elements of that list and split it up into smaller lists, so that every element is in exactly one of the smaller lists
i can't even think of a way to phrase it, let alone program it