diff --git a/phino.cabal b/phino.cabal
--- a/phino.cabal
+++ b/phino.cabal
@@ -1,6 +1,6 @@
 cabal-version: 3.0
 name: phino
-version: 0.0.126
+version: 0.0.127
 license: MIT
 synopsis: Command-Line Manipulator of 𝜑-Calculus Expressions
 description: Please see the README on GitHub at <https://github.com/objectionary/phino#readme>
diff --git a/src/Dataize.hs b/src/Dataize.hs
--- a/src/Dataize.hs
+++ b/src/Dataize.hs
@@ -660,7 +660,12 @@
 -- 'ReduceFunc' in 'Atoms'): the expression is bound to a synthetic attribute
 -- of the universe and dataized there, exactly the way the '--inside' option
 -- does it, so the bytes come back as a Δ formation — or, where an atom on the
--- way could not fire and '_partial' parked it, the residual program instead.
+-- way could not fire and '_partial' parked it, the node the question named,
+-- taken out of the residue at the synthetic attribute. The residue is the whole
+-- synthetic universe, and answering with it hands the program a print of the
+-- universe per question, thousands of bytes around the one node it asked about
+-- (#1167); nothing is lost by trimming it, since the rest of that residue is
+-- the universe the program was already told under '𝑒'.
 -- An operand reaches a program unreduced, since reducing it may take the very
 -- atom being fired, and before the channel carried questions the program had
 -- no way to ask: it had to splice the operand into the text of the universe
@@ -670,11 +675,11 @@
 reduction univ ctx expr = do
   (universe, aiming) <- insideUniverse expr univ ctx
   (outcome, _) <- dataize universe aiming
-  pure (reduced outcome)
+  reduced aiming._locator outcome
   where
-    reduced :: Outcome -> Expression
-    reduced (Dataized bytes) = ExFormation [BiDelta bytes]
-    reduced (Residual residue) = residue
+    reduced :: Expression -> Outcome -> IO Expression
+    reduced _ (Dataized bytes) = pure (ExFormation [BiDelta bytes])
+    reduced locator (Residual residue) = locatedExpression locator residue
 
 -- phino implements no λ function of its own. Which atoms exist is a property of
 -- the object model being dataized, not of the calculus, so they come from the
diff --git a/test/CLISpec.hs b/test/CLISpec.hs
--- a/test/CLISpec.hs
+++ b/test/CLISpec.hs
@@ -136,6 +136,26 @@
 withLoopingAsk :: (String -> Expectation) -> Expectation
 withLoopingAsk action = withNode (withLoopingAskRegistry (action . ("--atoms=" ++)))
 
+-- A resident program that cannot answer its request before phino reduces
+-- 'Q.nope' for it, a dispatch on an atom the registry does not carry and
+-- '--partial' parks: it answers 'FF-' when phino said the parked node back
+-- alone and '00-' when the answer carried the whole universe that node was
+-- reduced inside, which the other atom of the universe is named in
+parking :: T.Text
+parking =
+  T.pack $
+    unlines
+      [ "printf '{\"id\": 7, \"ask\": \"Q.nope\"}\\n'"
+      , "IFS= read -r reply"
+      , "case \"$reply\" in"
+      , "  *L_answer*) " ++ answering "00-" ++ ";;"
+      , "  *) " ++ answering "FF-" ++ ";;"
+      , "esac"
+      ]
+  where
+    answering :: String -> String
+    answering bytes = "printf '{\"id\": %s, \"𝑛\": \"⟦ Δ ⤍ " ++ bytes ++ " ⟧\"}\\n' \"$id\""
+
 testCLIFailed :: [String] -> [String] -> Expectation
 testCLIFailed args outputs = testCLI' args outputs (Left (ExitFailure 1))
 
@@ -1370,6 +1390,17 @@
             testCLISucceeded
               ["dataize", atoms, "--partial", "--max-steps=200"]
               ["2A-"]
+
+      -- A question is answered with the node the program asked about, and
+      -- never with the universe that node was reduced inside: a parked
+      -- question used to hand the residue back whole, so a program reading a
+      -- seventeen-byte node paid for a print of the entire universe, once per
+      -- question (#1167)
+      it "answers a parked question with the node alone" $
+        withShell $
+          withServing parking $ \registry ->
+            withStdin "⟦ nope ↦ ⟦ λ ⤍ L_nope ⟧, φ ↦ ⟦ λ ⤍ L_answer ⟧ ⟧" $
+              testCLISucceeded ["dataize", "--atoms=" ++ registry, "--partial"] ["FF-"]
 
       -- Without '--partial' the exhausted budget fails the run through a
       -- question just as it fails it anywhere else (#1052's message)
