Add ability to partition a register into subregisters with the syntax: ``` partition a[:] -> x[5], y[5], z[:] ```