Sounds like you're making module A do too much.
Why not let module A just define the object (constructor, accessor(s)). If methods in
module B are still required for module A to do its definition/access job, then they
shouldn't be in module B, but in A.
I think of it in terms of definition and application modules, e.g.
end module A_Def
end module A_App
Module A_Def defines the object, A, for a particular task and needs nothing else (well,
maybe utility modules for defining types, setting common parameters, etc, but nothing "A"
related), and module A_App uses that definition to do stuff.
Paul van Delst Ride lots.
CIMSS @ NOAA/NCEP/EMC Eddy Merckx