BSD-3-Clause licensed by James Cook, Oleg Grenrus
Maintained by Oleg Grenrus
This version can be pinned in stack with:some-1.0.2@sha256:3d460998df32ad7b93bf55657aeae988d97070155e71718b4bc75d0997ce9d62,2244

This library defines an existential type Some.

data Some f where
    Some :: f a -> Some f

in few variants, and utilities to work with it.

If you are unsure which variant to use, use the one in Data.Some module.



  • Explicitly mark Data.Some as Safe. It was previously inferred, yet it was Safe too, as it only re-exports other explicitly marked modules.
  • Allow base-4.15, GHC-9.0 compatibility


  • One less unsafeCoerce (thanks to David Feuer)

  • Broken release


  • Split out of dependent-sum
  • Have GADT, Newtype, Church variants
  • Add NFData instance