Can anyone shed a light as to why this doesn't work? I get an error `Binary operator '==' cannot be applied to operands of type 'Self' and 'CustomEquatable'`

```
protocol CustomEquatable {
    func isEqualTo(_ other: CustomEquatable) -> Bool
}

extension CustomEquatable where Self: Equatable {
    func isEqualTo(_ other: CustomEquatable) -> Bool {
        return self == other
    }
}

```