Say publish = false on the internal shared crates
Find markers with the parser's own idea of a quoted string
Split assumption substitution out of docengine into subst + mnw-assumptions