Why do you have 3 different implementations? By default it's even a little bit slower than ngeohash (320k vs 336k rps). If I call methods from `cgeohash.original_implementation` it gets a little faster.