sig
  val get :
    [< ('d, 'r) ZZ3_sigs.S.zarray ] ZZ3_sigs.S.term ->
    'ZZ3_sigs.S.term -> 'ZZ3_sigs.S.term
  val set :
    [< ('d, 'r) ZZ3_sigs.S.zarray ] ZZ3_sigs.S.term ->
    'ZZ3_sigs.S.term ->
    'ZZ3_sigs.S.term -> [> ('d, 'r) ZZ3_sigs.S.zarray ] ZZ3_sigs.S.term
  val make :
    ('-> 'b, ('d, 'r) ZZ3_sigs.S.zarray) ZZ3_sigs.S.typ ->
    'ZZ3_sigs.S.term -> [> ('d, 'r) ZZ3_sigs.S.zarray ] ZZ3_sigs.S.term
  val default :
    [< ('d, 'r) ZZ3_sigs.S.zarray ] ZZ3_sigs.S.term -> 'ZZ3_sigs.S.term
  val of_indexed :
    typ:('a, 'r) ZZ3_sigs.S.typ ->
    default:'ZZ3_sigs.S.term ->
    'ZZ3_sigs.S.term array ->
    ([> ZZ3_sigs.S.zint ], 'r) ZZ3_sigs.S.zarray ZZ3_sigs.S.term
  val of_array :
    typ:('-> 'b, ('d, 'r) ZZ3_sigs.S.zarray) ZZ3_sigs.S.typ ->
    default:'ZZ3_sigs.S.term ->
    ('ZZ3_sigs.S.term * 'ZZ3_sigs.S.term) array ->
    ('d, 'r) ZZ3_sigs.S.zarray ZZ3_sigs.S.term
  val of_list :
    typ:('-> 'b, ('d, 'r) ZZ3_sigs.S.zarray) ZZ3_sigs.S.typ ->
    default:'ZZ3_sigs.S.term ->
    ('ZZ3_sigs.S.term * 'ZZ3_sigs.S.term) list ->
    ('d, 'r) ZZ3_sigs.S.zarray ZZ3_sigs.S.term
end