Internal module, do not import or use.

- unsafeCast :: a -> b
- inlinePerformIO :: IO a -> a
- builder :: forall a. (forall b. (a -> b -> b) -> b -> b) -> [a]
- concatCont :: [a -> a] -> a -> a

# Documentation

unsafeCast :: a -> bSource

`unsafeCoerce`

, but for all compilers. In future this can be obtained from
`Unsafe.Coerce.unsafeCoerce`

, but thats too recent a change.

inlinePerformIO :: IO a -> aSource

`unsafePerformIO`

, but suitable for inlining. Copied from Data.ByteString.Base.

builder :: forall a. (forall b. (a -> b -> b) -> b -> b) -> [a]Source

GHCs `foldr`

/`build`

system, but on all platforms

concatCont :: [a -> a] -> a -> aSource

Perform concatentation of continuations