In pred_overload, extract arguments in the right order

- The order was right for cases where only one value type is in play
  (e.g. <value_cst, value_cst>).  But for mixed-type cases, this
  presented the types backwards.
Name some overloads more concisely
Fix selector computation

- Previously this kept type of the last passed-in value_type in the
  big end of selector.  But stack computes its profile backwards.
  Adjust selector.
Implement ?contains