-incMedian0, decMedian0, incMedian1, decMedian1, incMedian2, decMedian2 ∷ EntropyData → EntropyData
-incMedian0 e
- = e { edMedian0 =
- edMedian0 e + ((edMedian0 e + div0 ) `div` div0) ⋅ 5 }
-decMedian0 e
- = e { edMedian0 =
- edMedian0 e - ((edMedian0 e + (div0-2)) `div` div0) ⋅ 2 }
-incMedian1 e
- = e { edMedian1 =
- edMedian1 e + ((edMedian1 e + div1 ) `div` div1) ⋅ 5 }
-decMedian1 e
- = e { edMedian1 =
- edMedian1 e - ((edMedian1 e + (div1-2)) `div` div1) ⋅ 2 }
-incMedian2 e
- = e { edMedian2 =
- edMedian2 e + ((edMedian2 e + div2 ) `div` div2) ⋅ 5 }
-decMedian2 e
- = e { edMedian2 =
- edMedian2 e - ((edMedian2 e + (div2-2)) `div` div2) ⋅ 2 }
+incMedian0, decMedian0, incMedian1, decMedian1, incMedian2, decMedian2 ∷ EntropyData s → ST s ()
+incMedian0 = flip modifySTRef (\x → x + ((x + div0 ) `div` div0) ⋅ 5) ∘ edMedian0
+decMedian0 = flip modifySTRef (\x → x - ((x + (div0-2)) `div` div0) ⋅ 2) ∘ edMedian0
+incMedian1 = flip modifySTRef (\x → x + ((x + div1 ) `div` div1) ⋅ 5) ∘ edMedian1
+decMedian1 = flip modifySTRef (\x → x - ((x + (div1-2)) `div` div1) ⋅ 2) ∘ edMedian1
+incMedian2 = flip modifySTRef (\x → x + ((x + div2 ) `div` div2) ⋅ 5) ∘ edMedian2
+decMedian2 = flip modifySTRef (\x → x - ((x + (div2-2)) `div` div2) ⋅ 2) ∘ edMedian2