12345678910111213141516171819202122232425262728293031(*---------------------------------------------------------------------------
Copyright (c) 2025 The more programmers. All rights reserved.
SPDX-License-Identifier: ISC
---------------------------------------------------------------------------*)(* See http://alan.petitepomme.net/cwn/2015.03.24.html#1
In the stdlib since 5.1. *)type('a,'b)eq=Equal:('a,'a)eqmoduleId=structtype_id=..moduletypeID=sigtypettype_id+=Id:tidendtype'at=(moduleIDwithtypet='a)letmake(typea)():at=(modulestructtypet=atype_id+=Id:tidend)letprovably_equal(typeab)((moduleA):at)((moduleB):bt):(a,b)eqoption=matchA.IdwithB.Id->SomeEqual|_->Noneletuid(typea)((moduleA):at)=Obj.Extension_constructor.id(Obj.Extension_constructor.of_valA.Id)end