Two \partcombine pairs on one staff

The \partcombine function takes two music expressions each containing a part, and distributes them among four Voices named two one solo and chords depending on when and how the parts merged into a common voice. The voices output from \partcombine can have their layout properties adjusted in the usual way. Here we define extensions of \partcombine to make it easier to put four voices on a staff.
soprano = { d'4 | cis'  b  e'  d'8 cis' | cis'2 b }
alto = { fis4 | e8 fis gis ais b4 b | b ais fis2 }
tenor = { a8 b | cis' dis' e'4 b8 cis' d'4 | gis cis' dis'2 }
bass = { fis8 gis | a4 gis g fis | eis fis b,2 }

\new Staff <<
  \key b\minor 
  \clef alto
  \partial 4
  \transpose b b'  
  \partcombineUp \soprano \alto
  \partcombineDown \tenor \bass
>>