Found other problems in the way I was taking MVar and not putting it back in every branch of a case.  Fixed that problem - stream occupancy now looks great.  Keyboard input doesn't switch between tetrodes though.