Data.Map
#keys
#SemigroupMap
newtype SemigroupMap k v
SemigroupMap k v
provides a Semigroup
instance for Map k v
whose
definition depends on the Semigroup
instance for the v
type.
You should only use this type when you need Data.Map
to have
a Semigroup
instance.
let
s :: forall key value. key -> value -> SemigroupMap key value
s k v = SemigroupMap (singleton k v)
(s 1 "foo") <> (s 1 "bar") == (s 1 "foobar")
(s 1 (First 1)) <> (s 1 (First 2)) == (s 1 (First 1))
(s 1 (Last 1)) <> (s 1 (Last 2)) == (s 1 (Last 2))
Constructors
SemigroupMap (Map k v)
Instances
(Eq k) => Eq1 (SemigroupMap k)
(Eq k, Eq v) => Eq (SemigroupMap k v)
(Ord k) => Ord1 (SemigroupMap k)
(Ord k, Ord v) => Ord (SemigroupMap k v)
Newtype (SemigroupMap k v) _
(Show k, Show v) => Show (SemigroupMap k v)
(Ord k, Semigroup v) => Semigroup (SemigroupMap k v)
(Ord k, Semigroup v) => Monoid (SemigroupMap k v)
(Ord k) => Alt (SemigroupMap k)
(Ord k) => Plus (SemigroupMap k)
Functor (SemigroupMap k)
FunctorWithIndex k (SemigroupMap k)
(Ord k) => Apply (SemigroupMap k)
(Ord k) => Bind (SemigroupMap k)
Foldable (SemigroupMap k)
FoldableWithIndex k (SemigroupMap k)
Traversable (SemigroupMap k)
TraversableWithIndex k (SemigroupMap k)
Re-exports from Data.Map.Internal
#Map
data Map k v
Map k v
represents maps from keys of type k
to values of type v
.
Instances
(Eq k) => Eq1 (Map k)
(Eq k, Eq v) => Eq (Map k v)
(Ord k) => Ord1 (Map k)
(Ord k, Ord v) => Ord (Map k v)
(Show k, Show v) => Show (Map k v)
(Ord k) => Alt (Map k)
(Ord k) => Plus (Map k)
Functor (Map k)
FunctorWithIndex k (Map k)
(Ord k) => Apply (Map k)
(Ord k) => Bind (Map k)
Foldable (Map k)
FoldableWithIndex k (Map k)
Traversable (Map k)
TraversableWithIndex k (Map k)
#update
#unions
#unionWith
#union
#toUnfoldableUnordered
toUnfoldableUnordered :: forall f k v. Unfoldable f => Map k v -> f (Tuple k v)
Convert a map to an unfoldable structure of key/value pairs
While this traversal is up to 10% faster in benchmarks than toUnfoldable
,
it leaks the underlying map stucture, making it only suitable for applications
where order is irrelevant.
If you are unsure, use toUnfoldable
#toUnfoldable
toUnfoldable :: forall f k v. Unfoldable f => Map k v -> f (Tuple k v)
Convert a map to an unfoldable structure of key/value pairs where the keys are in ascending order
#submap
submap :: forall k v. Ord k => Maybe k -> Maybe k -> Map k v -> Map k v
Returns a new map containing all entries of the given map which lie
between a given lower and upper bound, treating Nothing
as no bound i.e.
including the smallest (or largest) key in the map, no matter how small
(or large) it is. For example:
submap (Just 1) (Just 2)
(fromFoldable [Tuple 0 "zero", Tuple 1 "one", Tuple 2 "two", Tuple 3 "three"])
== fromFoldable [Tuple 1 "one", Tuple 2 "two"]
submap Nothing (Just 2)
(fromFoldable [Tuple 0 "zero", Tuple 1 "one", Tuple 2 "two", Tuple 3 "three"])
== fromFoldable [Tuple 0 "zero", Tuple 1 "one", Tuple 2 "two"]
The function is entirely specified by the following property:
Given any m :: Map k v, mmin :: Maybe k, mmax :: Maybe k, key :: k,
let m' = submap mmin mmax m in
if (maybe true (\min -> min <= key) mmin &&
maybe true (\max -> max >= key) mmax)
then lookup key m == lookup key m'
else not (member key m')
#pop
#mapMaybeWithKey
mapMaybeWithKey :: forall k a b. Ord k => (k -> a -> Maybe b) -> Map k a -> Map k b
Applies a function to each key/value pair in a map, discarding entries
where the function returns Nothing
.
#mapMaybe
#lookupLT
#lookupLE
#lookupGT
#lookupGE
#isSubmap
#intersectionWith
intersectionWith :: forall k a b c. Ord k => (a -> b -> c) -> Map k a -> Map k b -> Map k c
Compute the intersection of two maps, using the specified function to combine values for duplicate keys.
#intersection
intersection :: forall k a b. Ord k => Map k a -> Map k b -> Map k a
Compute the intersection of two maps, preferring values from the first map in the case of duplicate keys.
#insertWith
insertWith :: forall k v. Ord k => (v -> v -> v) -> k -> v -> Map k v -> Map k v
Inserts or updates a value with the given function.
The combining function is called with the existing value as the first argument and the new value as the second argument.
#insert
#fromFoldableWithIndex
fromFoldableWithIndex :: forall f k v. Ord k => FoldableWithIndex k f => f v -> Map k v
Convert any indexed foldable collection into a map.
#fromFoldableWith
fromFoldableWith :: forall f k v. Ord k => Foldable f => (v -> v -> v) -> f (Tuple k v) -> Map k v
Convert any foldable collection of key/value pairs to a map. On key collision, the values are configurably combined.
#fromFoldable
fromFoldable :: forall f k v. Ord k => Foldable f => f (Tuple k v) -> Map k v
Convert any foldable collection of key/value pairs to a map. On key collision, later values take precedence over earlier ones.
#foldSubmap
foldSubmap :: forall k v m. Ord k => Monoid m => Maybe k -> Maybe k -> (k -> v -> m) -> Map k v -> m
Fold over the entries of a given map where the key is between a lower and
an upper bound. Passing Nothing
as either the lower or upper bound
argument means that the fold has no lower or upper bound, i.e. the fold
starts from (or ends with) the smallest (or largest) key in the map.
foldSubmap (Just 1) (Just 2) (\_ v -> [v])
(fromFoldable [Tuple 0 "zero", Tuple 1 "one", Tuple 2 "two", Tuple 3 "three"])
== ["one", "two"]
foldSubmap Nothing (Just 2) (\_ v -> [v])
(fromFoldable [Tuple 0 "zero", Tuple 1 "one", Tuple 2 "two", Tuple 3 "three"])
== ["zero", "one", "two"]
#findMin
#findMax
#filterWithKey
filterWithKey :: forall k v. Ord k => (k -> v -> Boolean) -> Map k v -> Map k v
Filter out those key/value pairs of a map for which a predicate fails to hold.
#filterKeys
#filter
#difference
difference :: forall k v w. Ord k => Map k v -> Map k w -> Map k v
Difference of two maps. Return elements of the first map where the keys do not exist in the second map.
#delete
#checkValid
checkValid :: forall k v. Map k v -> Boolean
Check whether the underlying tree satisfies the 2-3 invariant
This function is provided for internal use.
#catMaybes
Modules
- Attribute
- Control.Alt
- Control.Alternative
- Control.Applicative
- Control.Apply
- Control.Biapplicative
- Control.Biapply
- Control.Bind
- Control.Category
- Control.Comonad
- Control.Comonad.Cofree
- Control.Comonad.Cofree.Class
- Control.Comonad.Env
- Control.Comonad.Env.Class
- Control.Comonad.Env.Trans
- Control.Comonad.Store
- Control.Comonad.Store.Class
- Control.Comonad.Store.Trans
- Control.Comonad.Traced
- Control.Comonad.Traced.Class
- Control.Comonad.Traced.Trans
- Control.Comonad.Trans.Class
- Control.Extend
- Control.Lazy
- Control.Monad
- Control.Monad.Cont
- Control.Monad.Cont.Class
- Control.Monad.Cont.Trans
- Control.Monad.Error.Class
- Control.Monad.Except
- Control.Monad.Except.Trans
- Control.Monad.Free
- Control.Monad.Free.Class
- Control.Monad.Gen
- Control.Monad.Gen.Class
- Control.Monad.Gen.Common
- Control.Monad.Identity.Trans
- Control.Monad.List.Trans
- Control.Monad.Maybe.Trans
- Control.Monad.RWS
- Control.Monad.RWS.Trans
- Control.Monad.Reader
- Control.Monad.Reader.Class
- Control.Monad.Reader.Trans
- Control.Monad.Rec.Class
- Control.Monad.State
- Control.Monad.State.Class
- Control.Monad.State.Trans
- Control.Monad.Trampoline
- Control.Monad.Trans.Class
- Control.Monad.Writer
- Control.Monad.Writer.Class
- Control.Monad.Writer.Trans
- Control.MonadPlus
- Control.MonadZero
- Control.Parallel
- Control.Parallel.Class
- Control.Plus
- Control.Semigroupoid
- ConvertableOptions
- Cowboy.Static
- Data.Align
- Data.Array
- Data.Array.NonEmpty
- Data.Array.NonEmpty.Internal
- Data.Array.Partial
- Data.Bifoldable
- Data.Bifunctor
- Data.Bifunctor.Join
- Data.Bitraversable
- Data.Boolean
- Data.BooleanAlgebra
- Data.Bounded
- Data.Bounded.Generic
- Data.CatList
- Data.CatQueue
- Data.Char
- Data.Char.Gen
- Data.CodePoint.Unicode
- Data.CodePoint.Unicode.Internal
- Data.CodePoint.Unicode.Internal.Casing
- Data.CommutativeRing
- Data.Compactable
- Data.Comparison
- Data.Const
- Data.Coyoneda
- Data.Date
- Data.Date.Component
- Data.Date.Component.Gen
- Data.Date.Gen
- Data.DateTime
- Data.DateTime.Gen
- Data.DateTime.Instant
- Data.DateTime.Parsing
- Data.Decidable
- Data.Decide
- Data.Distributive
- Data.Divide
- Data.Divisible
- Data.DivisionRing
- Data.Either
- Data.Either.Inject
- Data.Either.Nested
- Data.Enum
- Data.Enum.Gen
- Data.Enum.Generic
- Data.Eq
- Data.Eq.Generic
- Data.Equivalence
- Data.EuclideanRing
- Data.Exists
- Data.Field
- Data.Filterable
- Data.FingerTree
- Data.FingerTree.Digit
- Data.Foldable
- Data.FoldableWithIndex
- Data.Formatter.DateTime
- Data.Formatter.Internal
- Data.Formatter.Interval
- Data.Formatter.Number
- Data.Formatter.Parser.Interval
- Data.Formatter.Parser.Number
- Data.Formatter.Parser.Utils
- Data.Function
- Data.Function.Uncurried
- Data.Functor
- Data.Functor.App
- Data.Functor.Clown
- Data.Functor.Compose
- Data.Functor.Contravariant
- Data.Functor.Coproduct
- Data.Functor.Coproduct.Inject
- Data.Functor.Coproduct.Nested
- Data.Functor.Costar
- Data.Functor.Flip
- Data.Functor.Invariant
- Data.Functor.Joker
- Data.Functor.Product
- Data.Functor.Product.Nested
- Data.Functor.Product2
- Data.Functor.Variant
- Data.FunctorWithIndex
- Data.Generic.Rep
- Data.Graph
- Data.HeytingAlgebra
- Data.HeytingAlgebra.Generic
- Data.Identity
- Data.Int
- Data.Int.Bits
- Data.Interval
- Data.Interval.Duration
- Data.Interval.Duration.Iso
- Data.Lazy
- Data.Lens
- Data.Lens.AffineTraversal
- Data.Lens.At
- Data.Lens.Common
- Data.Lens.Fold
- Data.Lens.Fold.Partial
- Data.Lens.Getter
- Data.Lens.Grate
- Data.Lens.Index
- Data.Lens.Indexed
- Data.Lens.Internal.Bazaar
- Data.Lens.Internal.Exchange
- Data.Lens.Internal.Focusing
- Data.Lens.Internal.Forget
- Data.Lens.Internal.Grating
- Data.Lens.Internal.Indexed
- Data.Lens.Internal.Market
- Data.Lens.Internal.Re
- Data.Lens.Internal.Shop
- Data.Lens.Internal.Stall
- Data.Lens.Internal.Tagged
- Data.Lens.Internal.Wander
- Data.Lens.Internal.Zipping
- Data.Lens.Iso
- Data.Lens.Iso.Newtype
- Data.Lens.Lens
- Data.Lens.Lens.Product
- Data.Lens.Lens.Tuple
- Data.Lens.Lens.Unit
- Data.Lens.Lens.Void
- Data.Lens.Prism
- Data.Lens.Prism.Coproduct
- Data.Lens.Prism.Either
- Data.Lens.Prism.Maybe
- Data.Lens.Record
- Data.Lens.Setter
- Data.Lens.Traversal
- Data.Lens.Types
- Data.Lens.Zoom
- Data.List
- Data.List.Internal
- Data.List.Lazy
- Data.List.Lazy.NonEmpty
- Data.List.Lazy.Types
- Data.List.NonEmpty
- Data.List.Partial
- Data.List.Types
- Data.List.ZipList
- Data.Map
- Data.Map.Gen
- Data.Map.Internal
- Data.Maybe
- Data.Maybe.First
- Data.Maybe.Last
- Data.MediaType
- Data.MediaType.Common
- Data.Monoid
- Data.Monoid.Additive
- Data.Monoid.Alternate
- Data.Monoid.Conj
- Data.Monoid.Disj
- Data.Monoid.Dual
- Data.Monoid.Endo
- Data.Monoid.Generic
- Data.Monoid.Multiplicative
- Data.NaturalTransformation
- Data.Newtype
- Data.NonEmpty
- Data.Nullable
- Data.Number
- Data.Number.Approximate
- Data.Number.Format
- Data.Op
- Data.Ord
- Data.Ord.Down
- Data.Ord.Generic
- Data.Ord.Max
- Data.Ord.Min
- Data.Ordering
- Data.Predicate
- Data.Profunctor
- Data.Profunctor.Choice
- Data.Profunctor.Closed
- Data.Profunctor.Cochoice
- Data.Profunctor.Costrong
- Data.Profunctor.Join
- Data.Profunctor.Split
- Data.Profunctor.Star
- Data.Profunctor.Strong
- Data.Ratio
- Data.Rational
- Data.Ring
- Data.Ring.Generic
- Data.Semigroup
- Data.Semigroup.First
- Data.Semigroup.Foldable
- Data.Semigroup.Generic
- Data.Semigroup.Last
- Data.Semigroup.Traversable
- Data.Semiring
- Data.Semiring.Free
- Data.Semiring.Generic
- Data.Sequence
- Data.Sequence.Internal
- Data.Sequence.NonEmpty
- Data.Sequence.Ordered
- Data.Set
- Data.Set.NonEmpty
- Data.Show
- Data.Show.Generic
- Data.String
- Data.String.CaseInsensitive
- Data.String.CodePoints
- Data.String.CodeUnits
- Data.String.Common
- Data.String.Gen
- Data.String.NonEmpty
- Data.String.NonEmpty.CaseInsensitive
- Data.String.NonEmpty.CodePoints
- Data.String.NonEmpty.CodeUnits
- Data.String.NonEmpty.Internal
- Data.String.Pattern
- Data.String.Regex
- Data.String.Regex.Flags
- Data.String.Regex.Unsafe
- Data.String.Unicode
- Data.String.Unsafe
- Data.Symbol
- Data.These
- Data.These.Gen
- Data.Time
- Data.Time.Component
- Data.Time.Component.Gen
- Data.Time.Duration
- Data.Time.Duration.Gen
- Data.Time.Gen
- Data.Traversable
- Data.Traversable.Accum
- Data.Traversable.Accum.Internal
- Data.TraversableWithIndex
- Data.Tuple
- Data.Tuple.Nested
- Data.Undefinable
- Data.Unfoldable
- Data.Unfoldable1
- Data.Unit
- Data.Validation.Semigroup
- Data.Validation.Semiring
- Data.Variant
- Data.Variant.Internal
- Data.Void
- Data.Witherable
- Data.Yoneda
- Debug
- Effect
- Effect.Class
- Effect.Class.Console
- Effect.Console
- Effect.Exception
- Effect.Exception.Unsafe
- Effect.Random
- Effect.Ref
- Effect.Uncurried
- Effect.Unsafe
- Erl.Atom
- Erl.Atom.Symbol
- Erl.Cowboy
- Erl.Cowboy.Handler
- Erl.Cowboy.Handlers.Common
- Erl.Cowboy.Handlers.Loop
- Erl.Cowboy.Handlers.Rest
- Erl.Cowboy.Handlers.Simple
- Erl.Cowboy.Handlers.WebSocket
- Erl.Cowboy.Req
- Erl.Cowboy.Req.Monad
- Erl.Cowboy.Routes
- Erl.Data.Binary
- Erl.Data.Binary.IOData
- Erl.Data.Binary.IOList
- Erl.Data.Binary.Type
- Erl.Data.Binary.UTF16
- Erl.Data.Binary.UTF32
- Erl.Data.Binary.UTF8
- Erl.Data.Bitstring
- Erl.Data.Bitstring.Type
- Erl.Data.Jsone
- Erl.Data.Jsone.Decode
- Erl.Data.Jsone.Decode.Class
- Erl.Data.Jsone.Decode.Combinators
- Erl.Data.Jsone.Encode
- Erl.Data.Jsone.Encode.Class
- Erl.Data.Jsone.Encode.Combinators
- Erl.Data.Jsone.Parser
- Erl.Data.Jsone.Printer
- Erl.Data.List
- Erl.Data.List.NonEmpty
- Erl.Data.List.Types
- Erl.Data.Map
- Erl.Data.Queue
- Erl.Data.Queue.Types
- Erl.Data.Tuple
- Erl.File
- Erl.FileLib
- Erl.Gun
- Erl.Gun.WsGun
- Erl.Kernel.Application
- Erl.Kernel.Erlang
- Erl.Kernel.Ets
- Erl.Kernel.Exceptions
- Erl.Kernel.File
- Erl.Kernel.Inet
- Erl.Kernel.Os
- Erl.Kernel.Tcp
- Erl.Kernel.Time
- Erl.Kernel.Udp
- Erl.ModuleName
- Erl.ModuleName.Symbol
- Erl.Otp.Types.Crypto
- Erl.Otp.Types.PublicKey
- Erl.Otp.Types.Stdlib
- Erl.Process
- Erl.Process.Raw
- Erl.Ranch
- Erl.Ranch.Transport
- Erl.Ssl
- Erl.StandardResult
- Erl.Test.EUnit
- Erl.Tests.EUnit.Discovery
- Erl.Types
- Erl.Untagged.Union
- ExpectInferred
- Foreign
- Foreign.Index
- Foreign.Keys
- Heterogeneous.Folding
- Heterogeneous.Mapping
- JSURI
- Lager
- Logger
- Math
- NativeRef
- OpenTelemetry
- OpenTelemetry.Metrics
- OpenTelemetry.Metrics.Counter
- OpenTelemetry.Metrics.Meter
- OpenTelemetry.Metrics.SumObserver
- OpenTelemetry.Metrics.UpDownCounter
- OpenTelemetry.Metrics.UpDownSumObserver
- OpenTelemetry.Metrics.ValueObserver
- OpenTelemetry.Metrics.ValueRecorder
- OpenTelemetry.Tracing
- OpenTelemetry.Tracing.Baggage
- OpenTelemetry.Tracing.Ctx
- OpenTelemetry.Tracing.Propagator.TextMap
- OpenTelemetry.Tracing.Span
- OpenTelemetry.Tracing.Tracer
- PSCI.Support
- Partial
- Partial.Unsafe
- Pathy
- Pathy.Gen
- Pathy.Name
- Pathy.Parser
- Pathy.Path
- Pathy.Phantom
- Pathy.Printer
- Pathy.Sandboxed
- Pinto
- Pinto.App
- Pinto.GenServer
- Pinto.GenStatem
- Pinto.MessageRouting
- Pinto.ModuleNames
- Pinto.Monitor
- Pinto.Supervisor
- Pinto.Supervisor.SimpleOneForOne
- Pinto.Timer
- Pinto.Types
- Prelude
- Prim
- Prim.Boolean
- Prim.Coerce
- Prim.Int
- Prim.Ordering
- Prim.Row
- Prim.RowList
- Prim.Symbol
- Prim.TypeError
- PureScript.Metadata
- Random.LCG
- Record
- Record.Builder
- Record.Prefix
- Record.Unsafe
- Record.Unsafe.Union
- Routing.Duplex
- Routing.Duplex.Generic
- Routing.Duplex.Generic.Syntax
- Routing.Duplex.Parser
- Routing.Duplex.Printer
- Routing.Duplex.Types
- RoutingDuplexMiddleware
- Safe.Coerce
- Simple.JSON
- Simple.JSON.Generics
- Simple.JSON.Generics.EnumSumRep
- Simple.JSON.Generics.TaggedSumRep
- Simple.JSON.Generics.UntaggedProductRep
- Simple.JSON.Generics.UntaggedSumRep
- SimpleBus
- Stetson
- Stetson.HandlerProxy
- Stetson.Loop
- Stetson.ModuleNames
- Stetson.Rest
- Stetson.Routing
- Stetson.Types
- Stetson.Utils
- Stetson.WebSocket
- Test.Assert
- Test.QuickCheck
- Test.QuickCheck.Arbitrary
- Test.QuickCheck.Gen
- Test.QuickCheck.Laws
- Test.QuickCheck.Laws.Control
- Test.QuickCheck.Laws.Control.Align
- Test.QuickCheck.Laws.Control.Alignable
- Test.QuickCheck.Laws.Control.Alt
- Test.QuickCheck.Laws.Control.Alternative
- Test.QuickCheck.Laws.Control.Applicative
- Test.QuickCheck.Laws.Control.Apply
- Test.QuickCheck.Laws.Control.Bind
- Test.QuickCheck.Laws.Control.Category
- Test.QuickCheck.Laws.Control.Comonad
- Test.QuickCheck.Laws.Control.Crosswalk
- Test.QuickCheck.Laws.Control.Extend
- Test.QuickCheck.Laws.Control.Monad
- Test.QuickCheck.Laws.Control.MonadPlus
- Test.QuickCheck.Laws.Control.MonadZero
- Test.QuickCheck.Laws.Control.Plus
- Test.QuickCheck.Laws.Control.Semigroupoid
- Test.QuickCheck.Laws.Data
- Test.QuickCheck.Laws.Data.BooleanAlgebra
- Test.QuickCheck.Laws.Data.Bounded
- Test.QuickCheck.Laws.Data.BoundedEnum
- Test.QuickCheck.Laws.Data.CommutativeRing
- Test.QuickCheck.Laws.Data.DivisionRing
- Test.QuickCheck.Laws.Data.Eq
- Test.QuickCheck.Laws.Data.EuclideanRing
- Test.QuickCheck.Laws.Data.Field
- Test.QuickCheck.Laws.Data.Foldable
- Test.QuickCheck.Laws.Data.Functor
- Test.QuickCheck.Laws.Data.FunctorWithIndex
- Test.QuickCheck.Laws.Data.HeytingAlgebra
- Test.QuickCheck.Laws.Data.Monoid
- Test.QuickCheck.Laws.Data.Ord
- Test.QuickCheck.Laws.Data.Ring
- Test.QuickCheck.Laws.Data.Semigroup
- Test.QuickCheck.Laws.Data.Semiring
- Text.Parsing.Indent
- Text.Parsing.Parser
- Text.Parsing.Parser.Combinators
- Text.Parsing.Parser.Expr
- Text.Parsing.Parser.Language
- Text.Parsing.Parser.Pos
- Text.Parsing.Parser.String
- Text.Parsing.Parser.Token
- Tracing.Attributes
- Type.Data.Boolean
- Type.Data.Ordering
- Type.Data.Row
- Type.Data.RowList
- Type.Data.Symbol
- Type.Equality
- Type.Function
- Type.Prelude
- Type.Proxy
- Type.Row
- Type.Row.Homogeneous
- Type.RowList
- URI
- URI.AbsoluteURI
- URI.Authority
- URI.Common
- URI.Extra.MultiHostPortPair
- URI.Extra.QueryPairs
- URI.Extra.UserPassInfo
- URI.Fragment
- URI.HierarchicalPart
- URI.Host
- URI.Host.Gen
- URI.Host.IPv4Address
- URI.Host.IPv6Address
- URI.Host.RegName
- URI.HostPortPair
- URI.HostPortPair.Gen
- URI.Path
- URI.Path.Absolute
- URI.Path.NoScheme
- URI.Path.Rootless
- URI.Path.Segment
- URI.Port
- URI.Port.Gen
- URI.Query
- URI.RelativePart
- URI.RelativeRef
- URI.Scheme
- URI.Scheme.Common
- URI.URI
- URI.URIRef
- URI.UserInfo
- Unsafe.Coerce
- Unsafe.Reference