             HKQuantityTypeIdentifierPeripheralPerfusionIndex  : (80.0,   13.33),
             HKQuantityTypeIdentifierRespiratoryRate           : (6000.0, 1996.67),
             HKQuantityTypeIdentifierStepCount                 : (6000.0, 1996.67),
-            HKQuantityTypeIdentifierUVExposure                : (6.0,    1.0)
+            HKQuantityTypeIdentifierUVExposure                : (6.0,    1.0),
+//            HKWorkoutSortIdentifierDuration                   : (10,0,   1.0),
+            HKWorkoutSortIdentifierTotalDistance              : (100.0,  10.0),
+            HKWorkoutSortIdentifierTotalEnergyBurned          : (5.0,     0.5)
         ],
 
         false: [

            let dv : [Double] = randNormals(dp.0, dp.1, count)
            let sv : [Double] = randNormals(sp.0, sp.1, count)
            return zip(ts, zip(dv, sv)).flatMap { (t,ds) in return completion(t, ds.0, ds.1) }

        default:
            let tparams = eventTimeDistributions[asMale]![type.identifier] ?? defaultEventTimeDistribution

    let excludes : [String] = [
        HKCategoryTypeIdentifierAppleStandHour,
        HKQuantityTypeIdentifierBasalBodyTemperature,
        HKQuantityTypeIdentifierBodyTemperature
    ]
    
    let workoutTypesToGenerate : [HKWorkoutActivityType] = [
        HKWorkoutActivityType.AmericanFootball,
        HKWorkoutActivityType.Archery,
        HKWorkoutActivityType.AustralianFootball,
        HKWorkoutActivityType.Badminton,
        HKWorkoutActivityType.Baseball,
        HKWorkoutActivityType.Basketball,
        HKWorkoutActivityType.Bowling,
        HKWorkoutActivityType.Boxing,
        HKWorkoutActivityType.Climbing,
        HKWorkoutActivityType.Cricket,
        HKWorkoutActivityType.CrossTraining,
        HKWorkoutActivityType.Curling,
        HKWorkoutActivityType.Cycling,
        HKWorkoutActivityType.Dance,
        HKWorkoutActivityType.DanceInspiredTraining,
        HKWorkoutActivityType.Elliptical,
        HKWorkoutActivityType.EquestrianSports,
        HKWorkoutActivityType.Fencing,
        HKWorkoutActivityType.Fishing,
        HKWorkoutActivityType.FunctionalStrengthTraining,
        HKWorkoutActivityType.Golf,
        HKWorkoutActivityType.Gymnastics,
        HKWorkoutActivityType.Handball,
        HKWorkoutActivityType.Hiking,
        HKWorkoutActivityType.Hockey,
        HKWorkoutActivityType.Hunting,
        HKWorkoutActivityType.Lacrosse,
        HKWorkoutActivityType.MartialArts,
        HKWorkoutActivityType.MindAndBody,
        HKWorkoutActivityType.MixedMetabolicCardioTraining,
        HKWorkoutActivityType.PaddleSports,
        HKWorkoutActivityType.Play,
//        HKWorkoutActivityType.PreparationAndRecovery,
        HKWorkoutActivityType.Racquetball,
        HKWorkoutActivityType.Rowing,
        HKWorkoutActivityType.Rugby,
        HKWorkoutActivityType.Running,
        HKWorkoutActivityType.Sailing,
        HKWorkoutActivityType.SkatingSports,
        HKWorkoutActivityType.SnowSports,
        HKWorkoutActivityType.Soccer,
        HKWorkoutActivityType.Softball,
        HKWorkoutActivityType.Squash,
        HKWorkoutActivityType.StairClimbing,
        HKWorkoutActivityType.SurfingSports,
        HKWorkoutActivityType.Swimming,
        HKWorkoutActivityType.TableTennis,
        HKWorkoutActivityType.Tennis,
        HKWorkoutActivityType.TrackAndField,
        HKWorkoutActivityType.TraditionalStrengthTraining,
        HKWorkoutActivityType.Volleyball,
        HKWorkoutActivityType.Walking,
        HKWorkoutActivityType.WaterFitness,
        HKWorkoutActivityType.WaterPolo,
        HKWorkoutActivityType.WaterSports,
        HKWorkoutActivityType.Wrestling,
        HKWorkoutActivityType.Yoga,
        HKWorkoutActivityType.Other
    ]

    let generatorUnits : [String: HKUnit] = [
