v2: relax comparable constraint
The Cmp
function is sufficient to compare values - if values were
compared for equality directly, it could lead to misleading results (such
as two pointer-typed values comparing unequal when they should be equal).
Also use any
instead of interface{}
throughout, as that's
the standard spelling now.