@bobcassels has another question outstanding: How to test whether comparison is defined for a type?
I thought that the `applicable function might help there too, but it doesn’t.
julia> applicable(<, Mod29(1) , Mod29(3))
true
but this fails
julia> Mod29(1) < Mod29(3)
ERROR: < not defined for Mod29
Because
(< )(x::T, y::T) where {T<:Real} = no_op_err("<" , T)
# see base/promotion.jl line 426
That is, the <
method applies to the arguments, but unfortunately that method forces an error.
So my suggestion to use the applicable
function is not foolproof