module DataSketches.Core.Snapshot where

import Control.Monad.Primitive

class TakeSnapshot a where
  type Snapshot a
  takeSnapshot :: PrimMonad m => a (PrimState m) -> m (Snapshot a)