Dear all, I'm still stucked on my example to write a functor for functions with a variable number of arguments. In particular I can't instantiate it with a generic list ('a list). Attached you find my code. Sometimes ago some on the list suggested me to use with to specify the value of the generic type (a in my case but I can't get rid of its syntax, what I think correct is: module M1 = VarArgs(ListConcat with type ListConcat.a = int) ;; but I get a syntax error on the with. Please note that I'd like to keep OpVarADT and varargs independent of the concrete type of a. Any help to solve this riddle would be appreciated. TIA Walter --