anchor.diff:              (emitter :> Emitter).Resize particleMax :?> BasicEmitter
   
           /// Make a basic particle emitter.
  -        let make time body elevation absolute blend image lifeTimeOpt particleLifeTimeOpt particleRate particleMax particleSeed constrain initializer inPlaceBehavior behaviors =
  -            BasicEmitter.make time body elevation absolute blend image lifeTimeOpt particleLifeTimeOpt particleRate particleMax particleSeed constrain initializer inPlaceBehavior behaviors toParticlesDescriptor
  +        let make
  +            time body elevation absolute blend image lifeTimeOpt particleLifeTimeOpt particleRate particleMax particleSeed
  +            constrain particleInitializer particleBehavior particleBehaviors emitterBehavior emitterBehaviors =
  +            BasicEmitter.make
  +                time body elevation absolute blend image lifeTimeOpt particleLifeTimeOpt particleRate particleMax particleSeed
  +                constrain particleInitializer particleBehavior particleBehaviors emitterBehavior emitterBehaviors toParticlesDescriptor
   
           /// Make an empty basic particle emitter.
           let makeEmpty time lifeTimeOpt particleLifeTimeOpt particleRate particleMax =
               let image = asset Assets.Default.PackageName Assets.Default.ImageName
               let particleSeed = Unchecked.defaultof<BasicParticle>
  -            let initializer = fun _ _ (emitter : BasicEmitter) -> emitter.ParticleSeed
  -            let inPlaceBehavior = fun _ _ _ -> Output.empty
  -            let behaviors = Behaviors.empty
  -            make time Body.defaultBody 0.0f false Transparent image lifeTimeOpt particleLifeTimeOpt particleRate particleMax particleSeed Constraint.empty initializer inPlaceBehavior behaviors
  +            let particleInitializer = fun _ _ (emitter : BasicEmitter) -> emitter.ParticleSeed
  +            let particleBehavior = fun _ _ _ -> Output.empty
  +            let particleBehaviors = Behaviors.empty
  +            let emitterBehavior = fun _ _ _ -> Output.empty
  +            let emitterBehaviors = Behaviors.empty
  +            make
  +                time Body.defaultBody 0.0f false Transparent image lifeTimeOpt particleLifeTimeOpt particleRate particleMax particleSeed
  +                Constraint.empty particleInitializer particleBehavior particleBehaviors emitterBehavior emitterBehaviors
   
           /// Make the default basic particle emitter.
           let makeDefault time lifeTimeOpt particleLifeTimeOpt particleRate particleMax =
  
positive.code:               ParticleBuffer = Array.zeroCreate particleMax
                ParticleSeed = particleSeed
                Constraint = constrain
                Initializer = initializer
                InPlaceBehavior = inPlaceBehavior
                CompositionalBehaviors = behaviors
                ToParticlesDescriptor = toParticlesDescriptor }
  
          interface Emitter with
  
negative.code:           ParticleBuffer : 'a array // operates as a ring-buffer
            ParticleSeed : 'a
            Constraint : Constraint
            ParticleInitializer : int64 -> Constraint -> 'a Emitter -> 'a
            ParticleBehavior : int64 -> Constraint -> 'a Emitter -> Output
            ParticleBehaviors : Behaviors
            EmitterBehavior : int64 -> Constraint -> 'a Emitter -> Output
            EmitterBehaviors : Behaviors
            ToParticlesDescriptor : 'a Emitter -> ParticlesDescriptor }
  
          static member private emit time constrain emitter =
  