I want to have two modules, say MA, MB both of which define a type  T

module MA
  type T end
end 

module MB
  type T end
end 

Both are different implementations of the same concept, hence the same 
name. Both are exported. Most of the time, I will use either MA or MB, but 
not both. Occasionally, though I will use both to convert between them. 

An easy way to avoid clashes is to just call the first now TA and the 
second one TB, but this creates unnatural and clunky names.

Another way would be to not worry and simply use `import` instead of 
`using` when I need both. 

This situation must have come up many times. How have others dealt with it?

Thank you,
    Christoph
 


Reply via email to