{-# LANGUAGE AllowAmbiguousTypes #-}

module Strongweak.Util.TypeNats where

import GHC.TypeNats
import GHC.Exts ( proxy# )

natVal'' :: forall n. KnownNat n => Natural
natVal'' :: forall (n :: Nat). KnownNat n => Nat
natVal'' = Proxy# n -> Nat
forall (n :: Nat). KnownNat n => Proxy# n -> Nat
natVal' (forall (a :: Nat). Proxy# a
forall {k} (a :: k). Proxy# a
proxy# @n)
{-# INLINE natVal'' #-}