sig
  type component_type =
      Alpha_t
    | Beta_t
    | Gamma_t
    | Delta_t
    | Epsilon_t
    | Zeta_t
  type component =
      Alpha of int
    | Beta of float
    | Gamma of string
    | Delta of char
    | Epsilon of bool
    | Zeta
  type entity = (Comp.component_type, Comp.component) Ent.entity
  type world = (Comp.component_type, Comp.component) Ent.world
  val add_alpha : Comp.entity -> int -> Comp.entity
  val add_beta : Comp.entity -> float -> Comp.entity
  val add_gamma : Comp.entity -> string -> Comp.entity
  val add_delta : Comp.entity -> char -> Comp.entity
  val add_epsilon : Comp.entity -> bool -> Comp.entity
  val add_zeta : Comp.entity -> Comp.entity
  val get_alpha : Comp.entity -> int
  val get_beta : Comp.entity -> float
  val get_gamma : Comp.entity -> string
  val get_delta : Comp.entity -> char
  val get_epsilon : Comp.entity -> bool
  val get_alpha_opt : Comp.entity -> int option
  val get_beta_opt : Comp.entity -> float option
  val get_gamma_opt : Comp.entity -> string option
  val get_delta_opt : Comp.entity -> char option
  val get_epsilon_opt : Comp.entity -> bool option
  val get_alpha_default : Comp.entity -> int -> int
  val get_beta_default : Comp.entity -> float -> float
  val get_gamma_default : Comp.entity -> string -> string
  val get_delta_default : Comp.entity -> char -> char
  val get_epsilon_default : Comp.entity -> bool -> bool
  val has_alpha : Comp.entity -> bool
  val has_beta : Comp.entity -> bool
  val has_gamma : Comp.entity -> bool
  val has_delta : Comp.entity -> bool
  val has_epsilon : Comp.entity -> bool
  val has_zeta : Comp.entity -> bool
  val remove_alpha : Comp.entity -> Comp.entity
  val remove_beta : Comp.entity -> Comp.entity
  val remove_gamma : Comp.entity -> Comp.entity
  val remove_delta : Comp.entity -> Comp.entity
  val remove_epsilon : Comp.entity -> Comp.entity
  val remove_zeta : Comp.entity -> Comp.entity
  val update_alpha : Comp.entity -> int -> Comp.entity
  val update_beta : Comp.entity -> float -> Comp.entity
  val update_gamma : Comp.entity -> string -> Comp.entity
  val update_delta : Comp.entity -> char -> Comp.entity
  val update_epsilon : Comp.entity -> bool -> Comp.entity
  val string_of_component_type : Comp.component_type -> string
  val string_of_component : Comp.component -> string
  val print_entity : Comp.entity -> unit
  val print_entities : Comp.world -> unit
end