type shell_contracted = private { expo : float array; coef : float array; center : Coordinate.t; totAngMom : Angular_momentum.t; size : int; norm_coef : float array; norm_coef_scale : float array; index : int; powers : Zkey.t array; } type t = shell_contracted (** Pretty-printing of the contracted shell in a string *) val to_string : t -> string (** Creates a contracted shell *) val make : index:int -> expo:float array -> coef:float array -> center:Coordinate.t -> totAngMom:Angular_momentum.t -> t (** Returns a copy of the contracted shell with a modified index *) val with_index : t -> int -> t