Sometimes a TransferPart in an atomicRearrange only expresses what amounts should be taken from a seat, leaving it to other TransferPart of the same atomicRearrange to balance it out. For this case, the [fromSeat, undefined, fromAmounts] form is more clearly expressed as fromOnly(fromSeat, fromAmounts). Unlike TransferPart, both arguments to fromOnly are non-optional, as otherwise it doesn't make much sense.