As I understand it the first operator() is the one used by the CachedConverter, and the second is the one used by despatchTypedData? It might be nice to document that with a comment, as it's not entirely obvious at first glance.