Fix multi-step unwinds & incompatable existing specs

Unwinding into a possibility state didnt work.

Checking against an existing spec would only check for equality, not that the existing spec satisfied the requirement.