diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
--- a/.travis.yml
+++ /dev/null
@@ -1,112 +0,0 @@
-# This file has been generated -- see https://github.com/hvr/multi-ghc-travis
-language: c
-sudo: false
-
-cache:
-  directories:
-    - $HOME/.cabsnap
-    - $HOME/.cabal/packages
-    - $HOME/.stack
-
-before_cache:
-  - rm -fv $HOME/.cabal/packages/hackage.haskell.org/build-reports.log
-  - rm -fv $HOME/.cabal/packages/hackage.haskell.org/00-index.tar
-
-matrix:
-  include:
-    - env: CABALVER=1.16 GHCVER=7.4.2 BUILD=cabal
-      compiler: ": #GHC 7.4.2"
-      addons: {apt: {packages: [cabal-install-1.16,ghc-7.4.2,alex-3.1.4,happy-1.19.5], sources: [hvr-ghc]}}
-    - env: CABALVER=1.16 GHCVER=7.6.3 BUILD=cabal
-      compiler: ": #GHC 7.6.3"
-      addons: {apt: {packages: [cabal-install-1.16,ghc-7.6.3,alex-3.1.4,happy-1.19.5], sources: [hvr-ghc]}}
-    - env: CABALVER=1.18 GHCVER=7.8.4 BUILD=cabal
-      compiler: ": #GHC 7.8.4"
-      addons: {apt: {packages: [cabal-install-1.18,ghc-7.8.4,alex-3.1.4,happy-1.19.5], sources: [hvr-ghc]}}
-    - env: CABALVER=1.22 GHCVER=7.10.1 BUILD=cabal
-      compiler: ": #GHC 7.10.1"
-      addons: {apt: {packages: [cabal-install-1.22,ghc-7.10.1,alex-3.1.4,happy-1.19.5], sources: [hvr-ghc]}}
-    - env: CABALVER=1.22 GHCVER=7.10.2 BUILD=cabal
-      compiler: ": #GHC 7.10.2"
-      addons: {apt: {packages: [cabal-install-1.22,ghc-7.10.2,alex-3.1.4,happy-1.19.5], sources: [hvr-ghc]}}
-    - env: BUILD=stack STACK_OPTIONS=--skip-ghc-check
-      addons: {apt: {packages: [cabal-install-1.22,ghc-7.10.2,alex-3.1.4,happy-1.19.5], sources: [hvr-ghc]}}
-    - env: BUILD=stack
-      os: osx
-
-
-before_install:
- - unset CC
- - case "$BUILD" in
-     stack)
-       export STACK_VERSION=0.1.3.0;
-       export PATH=~/bin:$PATH;
-       mkdir -p ~/bin;
-       travis_retry curl -L https://github.com/commercialhaskell/stack/releases/download/v$STACK_VERSION/stack-$STACK_VERSION-x86_64-$TRAVIS_OS_NAME.gz | gunzip > ~/bin/stack;
-       chmod a+x ~/bin/stack;
-       scripts/travis_long stack --no-terminal setup;;
-     cabal)
-       export HAPPYVER=1.19.5
-       export ALEXVER=3.1.4
-       export PATH=~/.cabal/bin:/opt/ghc/$GHCVER/bin:/opt/cabal/$CABALVER/bin:/opt/happy/$HAPPYVER/bin:/opt/alex/$ALEXVER/bin:$PATH;;
-   esac
-install:
- - case "$BUILD" in
-     stack)
-       scripts/travis_long stack --no-terminal $STACK_OPTIONS build --only-snapshot -j2;;
-     cabal)
-       echo "$(ghc --version) [$(ghc --print-project-git-commit-id 2> /dev/null || echo '?')]"
-       cabal --version;
-       if [ -f $HOME/.cabal/packages/hackage.haskell.org/00-index.tar.gz ];
-       then
-         zcat $HOME/.cabal/packages/hackage.haskell.org/00-index.tar.gz >
-              $HOME/.cabal/packages/hackage.haskell.org/00-index.tar;
-       fi;
-       travis_retry cabal update;
-       cabal install --only-dependencies --enable-tests --enable-benchmarks --dry -v > installplan.txt;
-       sed -i -e '1,/^Resolving /d' installplan.txt; cat installplan.txt;
-       if diff -u installplan.txt $HOME/.cabsnap/installplan.txt; then
-         echo "cabal build-cache HIT";
-         rm -rfv .ghc;
-         cp -a $HOME/.cabsnap/ghc $HOME/.ghc;
-         cp -a $HOME/.cabsnap/lib $HOME/.cabsnap/share $HOME/.cabsnap/bin $HOME/.cabal/;
-       else
-         echo "cabal build-cache MISS";
-         rm -rf $HOME/.cabsnap;
-         mkdir -p $HOME/.ghc $HOME/.cabal/lib $HOME/.cabal/share $HOME/.cabal/bin;
-         cabal install --only-dependencies --enable-tests --enable-benchmarks;
-         if [ "$GHCVER" = "7.10.1" ]; then cabal install Cabal-1.22.4.0; fi;
-       fi;
-       if [ ! -d $HOME/.cabsnap ]; then
-         echo "snapshotting package-db to build-cache";
-         mkdir $HOME/.cabsnap;
-         cp -a $HOME/.ghc $HOME/.cabsnap/ghc;
-         cp -a $HOME/.cabal/lib $HOME/.cabal/share $HOME/.cabal/bin installplan.txt $HOME/.cabsnap/;
-       fi;;
-   esac
-
-# snapshot package-db on cache miss
-
-# Here starts the actual work to be performed for the package under test;
-# any command which exits with a non-zero exit code causes the build to fail.
-script:
- - case "$BUILD" in
-     stack)
-       scripts/travis_long stack --no-terminal $STACK_OPTIONS build -j2;;
-     cabal)
-       cabal configure --enable-tests -v2;
-       cabal build;
-       cabal test;
-       cabal bench || true;
-       cabal sdist || true;
-       SRC_TGZ=$(cabal info . | awk '{print $2;exit}').tar.gz && (cd dist && cabal install --force-reinstalls "$SRC_TGZ");;
-   esac
-
-notifications:
-  irc:
-    channels:
-      - "irc.freenode.org#haskell-lens"
-    skip_join: true
-    template:
-      - "\x0313unique\x0f/\x0306%{branch}\x0f \x0314%{commit}\x0f %{message} \x0302\x1f%{build_url}\x0f"
-# EOF
diff --git a/CHANGELOG.markdown b/CHANGELOG.markdown
--- a/CHANGELOG.markdown
+++ b/CHANGELOG.markdown
@@ -1,3 +1,8 @@
+## 0.0.1
+
+* GHC-9.0 compatibility
+* Mark `Control.Concurrent.Unique` as `Trustworthy`
+
 ## 0
 
 * Repository initialized
diff --git a/README.markdown b/README.markdown
--- a/README.markdown
+++ b/README.markdown
@@ -1,7 +1,8 @@
 unique
 ==============
 
-[![Hackage](https://img.shields.io/hackage/v/unique.svg)](https://hackage.haskell.org/package/unique) [![Build Status](https://secure.travis-ci.org/ekmett/unique.png?branch=master)](http://travis-ci.org/ekmett/unique)
+[![Hackage](https://img.shields.io/hackage/v/unique.svg)](https://hackage.haskell.org/package/unique) [![Build Status](https://github.com/ekmett/unique/workflows/Haskell-CI/badge.svg)](https://github.com/ekmett/unique/actions?query=workflow%3AHaskell-CI)
+
 
 This package provides a version of Data.Unique that is fully concurrent.
 
diff --git a/src/Control/Concurrent/Unique.hs b/src/Control/Concurrent/Unique.hs
--- a/src/Control/Concurrent/Unique.hs
+++ b/src/Control/Concurrent/Unique.hs
@@ -1,6 +1,7 @@
 {-# LANGUAGE CPP #-}
 {-# LANGUAGE UnboxedTuples #-}
 {-# LANGUAGE MagicHash #-}
+{-# LANGUAGE Trustworthy #-}
 
 -- | An abstract interface to a concurrent unique symbol generator.
 --
@@ -9,14 +10,35 @@
   ( Unique, newUnique
   ) where
 
-import Data.Hashable
+import Data.Hashable (Hashable (..))
 import GHC.IO
-import GHC.Prim
-import GHC.Types
+import GHC.Exts
 
+-- $setup
+-- >>> import Data.Hashable
+
 -- | Unique identifiers are created by creating heap objects in kind # that
 -- can be compared for value equality and then hashing them using their initial allocation
 -- address.
+--
+-- >>> x <- newUnique
+-- >>> y <- newUnique
+-- >>> z <- newUnique
+--
+-- >>> [x == x, y == y, z == z]
+-- [True,True,True]
+--
+-- >>> [x == y, y == z, z == x]
+-- [False,False,False]
+--
+-- The hashes could be same, in theory, but in practice they are different
+-- as well.
+--
+-- >>> [ hash x == hash x, hash y == hash y, hash z == hash z]
+-- [True,True,True]
+--
+-- >>> [ hash x == hash y, hash y == hash z, hash z == hash x]
+-- [False,False,False]
 
 -- TODO: If, due to a small heap size we find we have high collision rate on initial allocation location
 -- we might consider upgrading this initial hash with something fast and volatile, e.g. rdtsc
diff --git a/unique.cabal b/unique.cabal
--- a/unique.cabal
+++ b/unique.cabal
@@ -1,6 +1,6 @@
 name:          unique
 category:      Concurrency, Data
-version:       0
+version:       0.0.1
 license:       BSD3
 cabal-version: >= 1.10
 license-file:  LICENSE
@@ -11,10 +11,21 @@
 bug-reports:   http://github.com/ekmett/unique/issues
 copyright:     Copyright (C) 2015 Edward A. Kmett
 synopsis:      Fully concurrent unique identifiers
-description:   Fully concurrent unique identifiers
+description:   Fully concurrent unique identifiers.
 build-type:    Simple
-extra-source-files: .travis.yml CHANGELOG.markdown README.markdown stack.yaml
+extra-source-files: CHANGELOG.markdown README.markdown stack.yaml
 
+tested-with:   GHC == 7.4.2
+             , GHC == 7.6.3
+             , GHC == 7.8.4
+             , GHC == 7.10.3
+             , GHC == 8.0.2
+             , GHC == 8.2.2
+             , GHC == 8.4.4
+             , GHC == 8.6.5
+             , GHC == 8.8.4
+             , GHC == 8.10.3
+
 source-repository head
   type: git
   location: git://github.com/ekmett/unique.git
@@ -27,5 +38,4 @@
   ghc-options: -Wall
   build-depends:
     base     >= 4.5 && < 5,
-    hashable >= 1.1 && < 1.3,
-    ghc-prim >= 0.2 && < 0.5
+    hashable >= 1.1 && < 1.4
