PartitionedSignal.cast() is needed, which is a little tricky. the shape will need to be inferred by doing a deep analysis of the input being cast. examples: * Cat(psig1, psig2) is straightforward enough because its width will be the width of the 2 partitioned signals. HOWEVER, the partitioning is slightly more complex.