1. A method of demodulating multiple data streams implemented in one demodulation stage of a multi-stage receiver, said method comprising: receiving input symbols corresponding to multiple data streams; generating a set of candidate sequences from symbols in a symbol constellation, and a finite set of unresolved signals; computing a likelihood metric for each candidate sequence based on the input symbols and a probability mass function for the unresolved signals; and selecting, based on the likelihood metrics, one of said candidate sequences as output symbol estimates.