... but, because the type here isn't const void * , the cast below appears to be to change type, making it less obvious that constness is being discarded.  Given that you don't exercise the Json-ness, it would be clearer to declare it as const void * here, to make entirely clear that the only change the cast is making is to the constness.