message: use shallow cloning in PD.merge
diff: @@ -398,8 +398,8 @@ export namespace ParamDefinition {
  }
  export function merge(params: Params, a: any, b: any): any {
  - if (a === undefined) return deepClone(b);
  - if (b === undefined) return deepClone(a);
  + if (a === undefined) return { ...b };
  + if (b === undefined) return { ...a };
  const o = Object.create(null)
  for (const k of Object.keys(params)) {
  @@ -409,21 +409,21 @@ export namespace ParamDefinition {
  }
  export function mergeParam(p: Any, a: any, b: any): any {
  - if (a === undefined) return deepClone(b);
  - if (b === undefined) return deepClone(a);
  + if (a === undefined) return b;
  + if (b === undefined) return a;
  if (p.type === 'group') {
  return merge(p.params, a, b);
  } else if (p.type === 'mapped') {
  const u = a as NamedParams, v = b as NamedParams;
  - if (u.name !== v.name) return deepClone(v);
  + if (u.name !== v.name) return v;
  const map = p.map(v.name);
  return {
  name: v.name,
  params: mergeParam(map, u.params, v.params)
  };
  } else if (typeof a === 'object' || typeof b === 'object') {
  - return Object.assign({}, deepClone(a), deepClone(b));
  + return { ...a, ...b };
  } else {
  return b
  }
  