all of the checking is done in cython. These calls intercept a call like ``k in ax``, e.g. the __contains__ method. I whould be using a slightly different method here (is_float) which is a better checker. But this whole code is a tradeoff between extreme flexibiilty and speed. So sometimes have to do things like this.