anchor.diff:                  fun _ _ targets ->
                       let targets =
                           Array.map (fun struct (targetLife, targetValue) ->
  -                            let progress = Life.getProgress time targetLife
  +                            let progress = Life.getProgress3 time range.RangeLife targetLife
                               let progressScaled = float progress * Math.PI * 0.5
                               let progressEaseIn = 1.0 + Math.Sin (progressScaled + Math.PI * 1.5)
                               let result = applyRange targetValue (value + scale (value2 - value, single progressEaseIn))
  
positive.code: 
      /// Describes logic of behavior over a section of a target's life time.
      type [<StructuralEquality; NoComparison>] Logic =
          { LogicType : LogicType
            (*LogicBegin : single*)
            (*LogicEnd : single*) }
  
      /// The type of range.
      type [<StructuralEquality; NoComparison>] 'a RangeType =
  
negative.code:                 fun _ _ targets ->
                      let targets =
                          Array.map (fun struct (targetLife, targetValue) ->
                              let progress = Life.getProgress3 time range.RangeLife targetLife
                              let result = applyRange targetValue (value + scale (value2 - value, progress))
                              struct (targetLife, result))
                              targets
  