sig type 'a t = 'a QCheck.fun_ val print : 'a QCheck.Fn.t QCheck.Print.t val shrink : 'a QCheck.Fn.t QCheck.Shrink.t val apply : 'f QCheck.Fn.t -> 'f end