Those objects that are participating in a particular relation can be grouped under a role type. For example, we can group those objects that are participating in the Marriage relation at this particular moment to form the Wife and Husband object types. There are at least three ways to model the participating types and role types of a relation: 1) Both the participating types and the role type In the example above, both the possible husbands and actual husbands have their own object types, namely Man and Husband. This model corresponds to the way people normally refer to relations, as in "Marriages have men as husbands", or "A husband is a married man.", so requirements gathering is easier. It has more overhead than the other two techniques, because there are two object types instead of one. 2) Just the participating type If no new features apply to the role type, then it is not necessary to model it. For example, if the model says nothing new about husbands, it can be omitted. If the husband concept is needed on occasion, then the user can test whether a particular man is married to see if he is a husband. If the husband concept is needed a lot, then this is not the best technique. 3) Just the role type For example, the Marriage relation may be modelled only between Husband and Wife. This technique is best when the application does not need to know who the potential husbands and wives are, only the actual husbands and wives. The participating types are still modelled, in a sense, since they are needed to determine the legal elements; however, they can't be used for modelling of potentially married people, because they restricted to be identical to the role type. Anti-role types The difference between participating type and the role type are those things that are not participating in the relation, but could. For example, bachelors is one of the anti-role types of Marriage. Role types and images Role types are identical to the images and co-images of place mappings (see hasImage/isImageOf and hasCoimage/isCoimageOf). We have already seen how relations are defined independently of their implementation as mappings (see Mapping). Likewise, Role types do not depend on the images and co-images of a mapping implementation.