:: IORef a -> (a -> a)

asProxyTypeOf is a type-restricted version of const. It is usually used as an infix operator, and its typing forces its first argument (which is usually overloaded) to have the same type as the tag of the second.
>>> import Data.Word

>>> :type asProxyTypeOf 123 (Proxy :: Proxy Word8)
asProxyTypeOf 123 (Proxy :: Proxy Word8) :: Word8
Note the lower-case proxy in the definition. This allows any type constructor with just one argument to be passed to the function, for example we could also write
>>> import Data.Word

>>> :type asProxyTypeOf 123 (Just (undefined :: Word8))
asProxyTypeOf 123 (Just (undefined :: Word8)) :: Word8
Hint the type system about the type.
The largest element of a foldable structure. The result is bounded by the value given as the first argument.
The smallest element of a foldable structure. The result is bounded by the value given as the first argument.
New users are recommended to use minimumBound or maximumBound instead.
New users are recommended to use minimumBound or maximumBound instead.
Evaluate polynomial using Horner's method. Coefficients starts from lowest. In pseudocode:
evaluateOddPolynomial x [1,2,3] = 1 + 2*x + 3*x^2
Evaluate polynomial with only even powers using Horner's method. Coefficients starts from lowest. In pseudocode:
evaluateOddPolynomial x [1,2,3] = 1 + 2*x^2 + 3*x^4
Evaluate polynomial with only odd powers using Horner's method. Coefficients starts from lowest. In pseudocode:
evaluateOddPolynomial x [1,2,3] = 1*x + 2*x^3 + 3*x^5
Cons element to the vector
Append element to the vector