Sidekick_base.Data_ty
type select = Types_.select = {
select_id : ID.t;
select_cstor : Types_.cstor;
select_ty : Types_.ty lazy_t;
select_i : int;
}
type cstor = Types_.cstor = {
cstor_id : ID.t;
cstor_is_a : ID.t;
mutable cstor_arity : int;
cstor_args : select list lazy_t;
cstor_ty_as_data : Types_.data;
cstor_ty : Types_.ty lazy_t;
}
type Sidekick_core.Const.view += private
| Data of Types_.data
| Cstor of cstor
| Select of select
| Is_a of cstor
include Sidekick_sigs.EQ_HASH_PRINT with type t := t
include Sidekick_sigs.EQ with type t := t
include Sidekick_sigs.HASH with type t := t
val hash : t -> int
include Sidekick_sigs.PRINT with type t := t
val pp : t Sidekick_sigs.printer
module Select : sig ... end
module Cstor : sig ... end
val data : Sidekick_core.Term.store -> t -> Sidekick_core.Term.t
val cstor : Sidekick_core.Term.store -> cstor -> Sidekick_core.Term.t
val select : Sidekick_core.Term.store -> select -> Sidekick_core.Term.t
val is_a : Sidekick_core.Term.store -> cstor -> Sidekick_core.Term.t
val as_data : Types_.ty -> Types_.data option
val as_select : Types_.term -> select option
val as_cstor : Types_.term -> cstor option
val as_is_a : Types_.term -> cstor option