Module A contains a gap buffer for manipulating text and some associated methods. Relevant to this question is the dependency on a Module B, used for syntax highlighting of text.
Module A also provides a type that wraps its gap buffer with more stuff, and brings in some convenience methods for dealing with syntax highlighting, putting Module B in a public API.
This looks like the leaking of an implementation detail: depending modules must know about Module B to use A, even if all they really want is what A provides, and couldn't care less about B.
Is this an (anti-)pattern? If so, does it have a common name, and how can I refactor it out?