It is not enough to define isapprox(string, string). To use isapprox for
[1.5, "foo"] you need an isapprox method for Array{Any}.
However, I would be inclined to say you should re-consider using isapprox
in such cases. (What does it mean for two strings to be "approximately"
equal?)
Note that isapprox on two numeric arrays is *not* the same as elementwise
isapprox. So it's not necessarily a good idea to have a fallback method
isapprox(a::Array, b::Array) = mapreduce(ab -> isapprox(ab[1], ab[2]), &,
true, zip(a,b))