Make `Comparable`'s operators symmetric
Make `Comparable`'s operators symmetric

When C++20 is enabled, this fixes a warning when compiling `==` or `!=` under Clang, and an error when compiling `!=` under MSVC or GCC.

C++20 can now rewrite comparison operators, potentially swapping arguments or rewriting missing operators in terms of other operators. As `NamedType`s inheriting from the `Comparable` skill fulfil both sides of the comparisons, this can lead to ambiguities as to which comparison operator should be selected, once swapped arguments are considered.

This fixes this ambiguity by making the comparisons take two `Comparable<T>`s instead of a `Comparable<T>` and a `T`.

joboccara/NamedType