new 'arraysAsPrimitives' option to allow specifying to overwrite arrays not merge them

requires throwOnCircularRef option to be set to false