unsafe -package:base

Unified interface to unsafe functions SafeHaskell introduced the notion of safe and unsafe modules. In order to make as many as possible modules "safe", the well-known unsafe functions were moved to distinguished modules. This makes it hard to write packages that work with both old and new versions of GHC. This package provides a single module System.Unsafe that exports the unsafe functions from the base package. It provides them in a style ready for qualification, that is, you should import them by
import qualified System.Unsafe as Unsafe
The package also contains a script called rename-unsafe.sh. It replaces all occurrences of the original identifiers with the qualified identifiers from this package. You still have to adapt the import commands. It uses the darcs-replace-rec script from the darcs-scripts package.
A module containing unsafe ByteString operations. While these functions have a stable API and you may use these functions in applications, do carefully consider the documented pre-conditions; incorrect use can break referential transparency or worse.
Warning: this is an internal module, and does not have a stable API or name. Functions in this module may not check or enforce preconditions expected by public modules. Use at your own risk! A module containing unsafe operations, for very very careful use in heavily tested code.
A module containing unsafe Text operations, for very very careful use in heavily tested code.
Unsafe combinators for the Gen monad. Gen is only morally a monad: two generators that are supposed to be equal will give the same probability distribution, but they might be different as functions from random number seeds to values. QuickCheck maintains the illusion that a Gen is a probability distribution and does not allow you to distinguish two generators that have the same distribution. The functions in this module allow you to break this illusion by reusing the same random number seed twice. This is unsafe because by applying the same seed to two morally equal generators, you can see whether they are really equal or not.
Contains the various unsafe operations that can be performed on arrays.
Provides an unsafe way to create a case insensitive string-like value.
For a good explanation of profunctors in Haskell see Dan Piponi's article: http://blog.sigfpe.com/2011/07/profunctors-in-haskell.html This module includes unsafe composition operators that are useful in practice when it comes to generating optimal core in GHC. If you import this module you are taking upon yourself the obligation that you will only call the operators with # in their names with functions that are operationally identity such as newtype constructors or the field accessor of a newtype. If you are ever in doubt, use rmap or lmap.
This is designed to be used as
import qualified Yesod.Core.Unsafe as Unsafe
This serves as a reminder that the functions are unsafe to use in many situations.
⚠️ Warning ⚠️ This module contains unsafe partial functions. They are unavoidable sometimes, but we encourage you to use safer analogues: TODO: table This module is intended to be imported qualified and it is not included in default prelude exports.
import qualified Relude.Unsafe as Unsafe

foo :: [a] -> a
foo = Unsafe.head
Boxed Vector unsafe functions. These perform no bounds checking, and may cause segmentation faults etc.! Import as:
import qualified RIO.Vector.Boxed.Unsafe as VB'
Storable Vector unsafe functions. These perform no bounds checking, and may cause segmentation faults etc.! Import as:
import qualified RIO.Vector.Storable.Unsafe as VS'
Unoxed Vector unsafe functions. These perform no bounds checking, and may cause segmentation faults etc.! Import as:
import qualified RIO.Vector.Unoxed.Unsafe as VU'
Generic Vector interface unsafe functions. These perform no bounds checking, and may cause segmentation faults etc.! Import as:
import qualified RIO.Vector.Unsafe as V'
Unsafe API This module provides unsafe conversion functions