Evaluates the similarity between the two given objects. Similarity
between two objects is high if those objects are similar and low if they
are not similar. Typically, this is a value that is greater than or
equal to zero that is higher the more similar two objects are. If the
two types are the same, then the rule f(x, y) = f(y, x) must apply.