improve contract stronger for </c and >/c

and modernize those combinators, too
improve contract stronger for promise/c