123456789101112131415161718192021222324252627open!ImportmoduleQueue=Base.Linked_queueincludeQueueincludeBin_prot.Utils.Make_iterable_binable1(structtype'at='aQueue.ttype'ael='a[@@derivingbin_io]letcaller_identity=Bin_prot.Shape.Uuid.of_string"800df9a0-4992-11e6-881d-ffe1a5c8aced";;letmodule_name=Some"Core.Linked_queue"letlength=lengthletiter=iter(* Bin_prot reads the elements in the same order they were written out, as determined
by [iter]. So, we can ignore the index and just enqueue each element as it is read
in. *)letinit~len~next=lett=create()infor_=1tolendoenqueuet(next())done;t;;end)