First: I'm not a modder. I've just been noticing a common thread of recent threads of requests about nanos that I've been developing some ideas on the appropriate response to the problem.
More and more mods are requesting more and more complex things with nanolathes. Unit-masking, speed-multipliers, cost-multipliers, special effects, etc.
So I've been thinking: maybe the solution is to allow nanolathes to be added to a unit in a fashion similar to weapons? That is, a single unit can have many nanolathes that operate independantly, and script can be used to lock-out nanos if exclusivity is desired.
After all, then it becomes much simpler. Each nanolathe gets the following attributes
1) Buildpower
2) MetalMultiplier, EnergyMultiplier
3) CanRepair, CanReclaim, CanCapture, etc.
4) CanTarget (a list of which unit groups and features it applies to)
5) Range
This would avoid the usual tag-soup of extrapolating out the various limitations modders want to put on nanolathes. If a modder wants unit X's nano to be good at task Y on unit Z, but bad at task Q on unit P, they make a seperate nanolathe for that purpose.
Really, a fully seperate nanolathe might not be necessary - simply multiple "modes" might be enough, particularly since mutual-exclusion is probably the dominant behaviour and scripting out mutual exclusion is a pain.
Just a thought.