-- | -- Module : SecureBlock -- License : BSD-3-Clause -- Copyright : (c) 2025 Olivier Chéron -- -- Use a type-level annotation to decide between a scrubbed block or a regular -- block -- {-# LANGUAGE CPP #-} module SecureBlock ( SecureBlock, index, new, thaw , unsafeCast, unsafeFreeze, toNormalForm #ifdef ML_KEM_TESTING , eq, Marking.showsPrec, toList, SecureBlock.length #endif ) where #ifdef ML_KEM_TESTING import Base #endif import Marking #ifdef ML_KEM_TESTING length :: (Classified marking, PrimType ty) => SecureBlock marking ty -> CountOf ty length = lengthBlock #endif