exponentiating n = iso (**n) (**recip n)Note: This errors for n = 0
>>> au (_Wrapping Sum . from (exponentiating 2)) (foldMapOf each) (3,4) == 5 True
>>> bounds 0 $ exponential 1 512 (1,1)
>>> bounds 11 $ exponential 1 512 (1,2)
>>> bounds 22 $ exponential 1 512 (1,4)
>>> bounds 77 $ exponential 1 512 (1,128)
>>> bounds 88 $ exponential 1 512 (1,256)
>>> bounds 99 $ exponential 1 512 (1,512)
>>> bounds 0 (exponentialBounded :: Range Int8) (0,0)
>>> bounds 50 (exponentialBounded :: Range Int8) (-11,11)
>>> bounds 99 (exponentialBounded :: Range Int8) (-128,127)
>>> bounds 0 $ exponentialFloat 0 10 (0.0,0.0)
>>> bounds 50 $ exponentialFloat 0 10 (0.0,2.357035250656098)
>>> bounds 99 $ exponentialFloat 0 10 (0.0,10.0)
>>> bounds 0 $ exponentialFloatFrom 0 (-10) 20 (0.0,0.0)
>>> bounds 50 $ exponentialFloatFrom 0 (-10) 20 (-2.357035250656098,3.6535836249197002)
>>> bounds 99 $ exponentialFloatFrom x (-10) 20 (-10.0,20.0)
>>> bounds 0 $ exponentialFrom 0 (-128) 512 (0,0)
>>> bounds 25 $ exponentialFrom 0 (-128) 512 (-2,4)
>>> bounds 50 $ exponentialFrom 0 (-128) 512 (-11,22)
>>> bounds 75 $ exponentialFrom 0 (-128) 512 (-39,112)
>>> bounds 99 $ exponentialFrom x (-128) 512 (-128,512)