Hardcaml_verify_kernel.LabelLabels represent named variables. They contain a uid (unique identifier) which is constructed when the label is created. The name is not used for comparison.
We need to represent vectors, even though the core variable type is a single bit. As such labels also refer to their bit position. The pair (uid,bit_pos) is used for comparison in order to distinguish labels.
module Uid : sig ... endinclude Ppx_compare_lib.Comparable.S with type t := tval compare : t Base__Ppx_compare_lib.compareval to_string : t -> Base.stringinclude Base.Comparable.S with type t := tval comparator : ( t, comparator_witness ) Base__Comparator.comparatorval create :
?width:Base.int ->
?hidden:Base.bool ->
Base.string ->
t Base.arrayval create1 : ?hidden:Base.bool -> Base.string -> tval bit_pos : t -> Base.intval name : t -> Base.string