     (should (google/protobuf/Duration-p message))
     (should (elisp/proto/message-p message))
     (should (elisp/proto/message-mutable-p message))
-    (should (elisp/proto/time--equal-p (elisp/proto/duration message) 333))))
+    (should (time-equal-p (elisp/proto/duration message) 333))))
 
 (ert-deftest elisp/proto/make/unknown-message ()
   (let ((err (should-error (elisp/proto/make (intern "unknown/Message"))

    (should (equal (elisp/proto/any-type-name any) "google.protobuf.Duration"))
    (let ((unpacked (elisp/proto/unpack-any any)))
      (should (google/protobuf/Duration-p unpacked))
      (should (elisp/proto/time--equal-p
               (elisp/proto/duration unpacked) 123)))))

(ert-deftest elisp/proto/uninitialized-any ()
  (should-error (elisp/proto/unpack-any (google/protobuf/Any-new))

                         "google.protobuf.UninterpretedOption.NamePart"
                         ("name_part" "is_extension"))))))

(put #'time-equal-p 'ert-explainer #'elisp/proto/explain--time-equal-p)

(defun elisp/proto/explain--time-equal-p (a b)
  "ERT explainer for ‘time-equal-p’.
A and B are the time values to compare."
  (unless (time-equal-p a b)
    `(different-time-values
      ,(format-time-string "%F %T.%N %Z" a)
      ,(format-time-string "%F %T.%N %Z" b)
