@rocx Unless the object/struct holds some kind of magical/stateful/singleton value (maybe socket, file handle, etc.), this f closes over the object and returns a constructor function that calls clone/dup on the obj. (Extra copy needed in closure if obj is mutable.)