{-| Module : Net.DNSBase.Nat16 Description : 16-bit type-level naturals indexing opaque RData Copyright : (c) Viktor Dukhovni, 2026 License : BSD-3-Clause Maintainer : ietf-dane@dukhovni.org Stability : unstable A 16-bit-constrained variant of 'Nat': the 'Nat16' constraint carries enough type-level evidence to retrieve the numeric codepoint at runtime via 'natToWord16'. Used to index the fallback 'Net.DNSBase.RData.OpaqueRData' / 'Net.DNSBase.EDNS.Option.OpaqueOption' / 'Net.DNSBase.RData.SVCB.OpaqueSPV' carriers so that values for different RR / option / SVCB-parameter codepoints inhabit distinct types even though they share a single underlying representation. 'withNat16' brings a runtime 'Data.Word.Word16' value into scope as a 'Nat16'-instantiated type variable. -} {-# LANGUAGE ExplicitNamespaces #-} module Net.DNSBase.Nat16 ( -- * 16-bit type-level naturals for Opaque RData type Nat , type Nat16 , Typeable , natToWord16 , withNat16 ) where import Net.DNSBase.Internal.Nat16