{-# LANGUAGE AllowAmbiguousTypes #-} module Language.Fortran.Repr.Util where import Language.Fortran.Repr.Compat.Natural import GHC.TypeNats import GHC.Exts natVal'' :: forall (a :: NaturalK). KnownNat a => Natural natVal'' :: forall (a :: NaturalK). KnownNat a => NaturalK natVal'' = forall (n :: NaturalK). KnownNat n => Proxy# n -> NaturalK natVal' (forall {k} (a :: k). Proxy# a proxy# :: Proxy# a)