diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
 # dickinson
 
+## 1.1.0.3
+
+  * More sensible completions in REPL
+
 ## 1.1.0.2
 
   * Support `prettyprinter` ≥ 1.7.0
diff --git a/examples/fionaBot.dck b/examples/fionaBot.dck
--- a/examples/fionaBot.dck
+++ b/examples/fionaBot.dck
@@ -10,6 +10,7 @@
     (| "The child is gone.")
     (| "If you're right you'll agree.")
     (| "I just wanna feel everything")
+    (| "Everything good I deem too good to be true.")
     (| "What does she think of me?")
     (| "You raped me in the same bed your daughter was born in.")
     (| "I want to suffer for my sins")
diff --git a/language-dickinson.cabal b/language-dickinson.cabal
--- a/language-dickinson.cabal
+++ b/language-dickinson.cabal
@@ -1,6 +1,6 @@
 cabal-version:      2.0
 name:               language-dickinson
-version:            1.1.0.2
+version:            1.1.0.3
 license:            BSD3
 license-file:       LICENSE
 copyright:          Copyright: (c) 2020 Vanessa McHale
diff --git a/lib/adjectives.dck b/lib/adjectives.dck
--- a/lib/adjectives.dck
+++ b/lib/adjectives.dck
@@ -20,6 +20,7 @@
       (| "anabatic")
       (| "arid")
       (| "antinomian")
+      (| "boffo")
       (| "azure")
       (| "antipruritic")
       (| "elysian")
diff --git a/lib/noun.dck b/lib/noun.dck
--- a/lib/noun.dck
+++ b/lib/noun.dck
@@ -35,11 +35,14 @@
       (| "tail")
       (| "joke")
       (| "autocracy")
+      (| "foofaraw")
       (| "autonomous")
       (| "pseudonym")
+      (| "perfidy")
       (| "heliophagy")
       (| "valedictorian")
       (| "apothegm")
+      (| "pablum")
       (| "satori")
       (| "ardor")
       (| "palaver")
diff --git a/run/Main.hs b/run/Main.hs
--- a/run/Main.hs
+++ b/run/Main.hs
@@ -20,6 +20,7 @@
          | Format !FilePath Bool
          | Man
          | Ide !FilePath ![FilePath]
+         | Dir
 
 main :: IO ()
 main = run =<< execParser wrapper
@@ -33,6 +34,8 @@
     <> command "fmt" (info formatP (progDesc "Format Dickinson code"))
     <> command "man" (info (pure Man) (progDesc "Dump path to manpages"))
     <> command "ide" (info ide (progDesc "Run all checks and lints"))
+    -- ide and dir should be hidden?
+    <> command "dir" (info (pure Dir) (progDesc "Show library install directory"))
     ) <|> runP
 
 formatP :: Parser Act
@@ -96,3 +99,4 @@
 run (Format fp True)  = fmtInplace fp
 run Man               = putStrLn . (</> "emd.1") . (</> "man") =<< getDataDir
 run (Ide fp is)       = do { is' <- modIs is ; validateFile is' fp ; warnFile fp }
+run Dir               = putStrLn =<< getDataDir
diff --git a/run/REPL/Completions.hs b/run/REPL/Completions.hs
--- a/run/REPL/Completions.hs
+++ b/run/REPL/Completions.hs
@@ -5,6 +5,7 @@
                         ) where
 
 import           Control.Monad.State      (StateT, gets)
+import           Data.List                (isPrefixOf)
 import qualified Data.Map                 as M
 import qualified Data.Text                as T
 import           Language.Dickinson.Eval
@@ -54,4 +55,9 @@
 emdCompletions (" epyt:", "") = do { ns <- namesStr ; pure (" epyt:", cyclicSimple ns) }
 emdCompletions (" t:", "")    = do { ns <- namesStr ; pure (" t:", cyclicSimple ns) }
 emdCompletions ("", "")       = ("",) . cyclicSimple <$> namesStr
+emdCompletions (rp, "")       = do { ns <- namesStr ; pure (unwords ("" : tail (words rp)), cyclicSimple (namePrefix ns rp)) }
+-- see? http://hackage.haskell.org/package/dhall-1.34.0/docs/src/Dhall.Repl.html#completer
 emdCompletions _              = pure (undefined, [])
+
+namePrefix :: [String] -> String -> [String]
+namePrefix names prevRev = filter (last (words (reverse prevRev)) `isPrefixOf`) names
