sig   type t = Gg.quat   val v : float -> float -> float -> float -> Gg.quat   val zero : Gg.quat   val id : Gg.quat   val mul : Gg.quat -> Gg.quat -> Gg.quat   val conj : Gg.quat -> Gg.quat   val unit : Gg.quat -> Gg.quat   val inv : Gg.quat -> Gg.quat   val slerp : Gg.quat -> Gg.quat -> float -> Gg.quat   val squad : Gg.quat -> Gg.quat -> Gg.quat -> Gg.quat -> float -> Gg.quat   val nlerp : Gg.quat -> Gg.quat -> float -> Gg.quat   val of_m3 : Gg.m3 -> Gg.quat   val of_m4 : Gg.m4 -> Gg.quat   val rot3_map : Gg.v3 -> Gg.v3 -> Gg.quat   val rot3_axis : Gg.v3 -> float -> Gg.quat   val rot3_zyx : Gg.v3 -> Gg.quat   val to_rot3_axis : Gg.quat -> Gg.v3 * float   val to_rot3_zyx : Gg.quat -> Gg.v3   val apply3 : Gg.quat -> Gg.v3 -> Gg.v3   val apply4 : Gg.quat -> Gg.v4 -> Gg.v4 end