Illegal circular USE: <module name>
The module currently being compiled contains a Use statement whose target module contains a Use statement whose target module refers to the current module (possibly by transitivity) in another Use statement. Use statements cannot be circular: if module A uses module B, then B, or any module that B uses, may not use A.
Reconfigure the set of Use statements to remove the circularity.