What if the child is an user-implemented piece of code and the parent is in a library?
Then there wouldn't be a circular dependency. If the parent is in a library and was written independently of the child, then the parent could not possibly import the child.