Round
module Data = Data
type 'data t = {
this : 'data;
prev : 'data t option;
}
module type S = sig ... end
module Make (D : Data.S) : S with module Data = D and type t = D.t t