#!/usr/bin/env runghc {- Due to the ambiguity I am choosing to interpret the task literally: 'partition' means splitting into strings that (a) are disjoint, and (b) completely cover the original string. So I will find all partitions in this sense. run