Total correctness type refinements for communicating processes