Corrected problems with circular dependencies in the types