* and updates Partition to support this behavior * not adding Partition.apply overload due to type inference issues, use constructor instead