Changed the implicit argument mechanism: it is the products that are tagged rather than the domain types. This simplifies treatment of implicits, especially wrt substitution (information tagging can be lost if substituting for a DB index).