Module Round

module Data = Data
type 'data t = {
  1. this : 'data;
  2. 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