types -package:optparse-applicative

Traverse all the types
Traverse all types in the given structure. For example, to update all Strings in a WTree (Maybe String) String, we can write
>>> myTree = WithWeight (Fork (Leaf (Just "hello")) (Leaf Nothing)) "world"

>>> over (types @String) (++ "!") myTree
WithWeight (Fork (Leaf (Just "hello!")) (Leaf Nothing)) "world!"
The traversal is deep, which means that not just the immediate children are visited, but all nested values too.
Types referenced by the schema.
Structure of types and their pointings (up to points, initially 0) Primitive types and empty types are mapped to an empty constructor list, and can be distinguished using dataTypeRep on the SomeData associated to it by xedni. The integer is a multiplicity which can be > 1 for pointings.
Mapping of C types to corresponding Haskell types.
POSIX data types: Haskell equivalents of the types defined by the <sys/types.h> C header on a POSIX system.
Types for text encoding/decoding
Basic types for the implementation of IO Handles.
type definitions for implicit call-stacks. Use GHC.Stack from the base package instead of importing this module directly.
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! Core stream fusion functionality for text.
Types for working with JSON data.
Simple, efficient parser combinators, loosely based on the Parsec library.
Simple, efficient parser combinators for strings, loosely based on the Parsec library.
Types for benchmarking. The core type is Benchmarkable, which admits both pure functions and IO actions. For a pure function of type a -> b, the benchmarking harness calls this function repeatedly, each time with a different Int64 argument (the number of times to run the function in a loop), and reduces the result the function returns to weak head normal form. For an action of type IO a, the benchmarking harness calls the action repeatedly, but does not reduce the result.