What is an intended usecase for the default behavior "the input that triggered the predicate will be returned"?
For collection contexts, it seems odd that the transduced result is not opaque to retf because it requires one to make the transducer depend on the later application which breaks promise/design of transducers as reusable algorithmic transformations in many contexts.
To illustrate
(into [] (halt-when true? conj) [false false true])
Doesn't work because into internally uses transients. One has to (halt-when true? conj!), then [false false true] is returned - but it is a hack using the internals of into.
(sequence (halt-when true? conj) [false false true])
Returns (false false), a different result.