code: public static <T> AsyncHandler<Response<ByteString>> autoSerialize(AsyncHandler<T> inner) {
      return serialize(new AutoSerializer()).apply(inner);
    }
docs: Converts an AsyncHandler with unspecified return type to one that returns {@code
  Response<ByteString>}. This is done through a best-effort mechanism.
  
  Using this middleware has the effect that your code is no longer typesafe, so it may be
  preferable to write your own middleware that converts the domain object your handler returns
  into a {@code Response<ByteString>}.