make opt/c use a more comprehensive list of known-to-be-good
predicate contracts

also make it just evaporate when the contract is unknown
(instead of leaving a wrapper behind around the contract)