anchor.diff:          body.add_OnSeparation (fun fn fn2 _ -> FarseerPhysicsEngine.handleSeparation physicsEngine fn fn2)
   
           // attempt to add the body
  -        if not (physicsEngine.Bodies.TryAdd ({ SourceId = createBodyMessage.SourceId; CorrelationId = bodyProperties.BodyId }, body)) then
  +        if not (physicsEngine.Bodies.TryAdd ({ SourceId = createBodyMessage.SourceId; CorrelationId = bodyProperties.BodyId }, (bodyProperties.GravityScale, body))) then
               Log.debug ("Could not add body via '" + scstring bodyProperties + "'.")
   
       static member private createBodies (createBodiesMessage : CreateBodiesMessage) physicsEngine =
  
positive.code:     static member private destroyBody (destroyBodyMessage : DestroyBodyMessage) physicsEngine =
          let physicsId = destroyBodyMessage.PhysicsId
          match physicsEngine.Bodies.TryGetValue physicsId with
          | (true, body) ->
              physicsEngine.Bodies.Remove physicsId |> ignore
              physicsEngine.PhysicsContext.Remove body
          | (false, _) ->
  
negative.code:         member physicsEngine.Integrate tickRate physicsMessages =
              FarseerPhysicsEngine.handlePhysicsMessages physicsMessages physicsEngine
              let physicsStepAmount = Constants.Physics.PhysicsStepRate * single tickRate
              FarseerPhysicsEngine.applyGravity physicsStepAmount physicsEngine
              physicsEngine.PhysicsContext.Step physicsStepAmount
              FarseerPhysicsEngine.createTransformMessages physicsEngine
              let integrationMessages = List<IntegrationMessage> physicsEngine.IntegrationMessages
  