anchor.diff:                  let applied = applyTween Vector3.Multiply Vector3.Divide slice.Size tweened applicator
                   { slice with Size = applied }
               else slice
  -        | Angles (applicator, algorithm, playback, keyFrames) ->
  +        | Angleses (applicator, algorithm, playback, keyFrames) ->
               if Array.notEmpty keyFrames then
                   let (keyFrameTime, keyFrame, keyFrame2) = selectKeyFrames effectSystem.EffectTime playback keyFrames
                   let progress = evalProgress keyFrameTime keyFrame.TweenLength effectSystem
                   let tweened = tween Vector3.Multiply keyFrame.TweenValue keyFrame2.TweenValue progress algorithm
  -                let applied = applyTween Vector3.Multiply Vector3.Divide (Math.radiansToDegrees3 slice.Rotation) tweened applicator
  -                { slice with Rotation = Math.degreesToRadians3 applied }
  -            else slice
  -        | Rotations (applicator, algorithm, playback, keyFrames) ->
  +                let applied = applyTween Vector3.Multiply Vector3.Divide slice.Angles tweened applicator
  +                { slice with Angles = applied }
  +            else slice
  +        | Degreeses (applicator, algorithm, playback, keyFrames) ->
               if Array.notEmpty keyFrames then
                   let (keyFrameTime, keyFrame, keyFrame2) = selectKeyFrames effectSystem.EffectTime playback keyFrames
                   let progress = evalProgress keyFrameTime keyFrame.TweenLength effectSystem
                   let tweened = tween Vector3.Multiply keyFrame.TweenValue keyFrame2.TweenValue progress algorithm
  -                let applied = applyTween Vector3.Multiply Vector3.Divide slice.Rotation tweened applicator
  -                { slice with Rotation = applied }
  +                let applied = applyTween Vector3.Multiply Vector3.Divide (Math.radiansToDegrees3 slice.Angles) tweened applicator
  +                { slice with Angles = Math.degreesToRadians3 applied }
               else slice
           | Elevations (applicator, algorithm, playback, keyFrames) ->
               if Array.notEmpty keyFrames then
  
positive.code:                 let (keyFrameTime, keyFrame, keyFrame2) = selectKeyFrames effectSystem.EffectTime playback keyFrames
                  let progress = evalProgress keyFrameTime keyFrame.TweenLength effectSystem
                  let tweened = tween Vector3.op_Multiply keyFrame.TweenValue keyFrame2.TweenValue progress algorithm
                  let oriented = Vector3.Transform (tweened, Quaternion.CreateFromYawPitchRoll (slice.Rotation.Y, slice.Rotation.X, slice.Rotation.Z))
                  let applied = applyTween Vector3.Multiply Vector3.Divide slice.Position oriented applicator
                  { slice with Position = applied }
              else slice
          | Sizes (applicator, algorithm, playback, keyFrames) ->
              if Array.notEmpty keyFrames then
  
negative.code:         evalContent content slice history effectSystem
  
      and private evalRepeat shift repetition incrementAspects content (slice : Slice) history effectSystem =
  
          // eval repeat either as iterative or cycling
          let slice = { slice with Elevation = slice.Elevation + shift }
          match repetition with
  
          // eval iterative repeat
          | Iterate count ->
              Array.fold
  