Yep, I'd also like defined versions to be global, but the problem is this introduces an order-of-evaluation issue. What if module second is processed before module one? Also what if you compile each module separately with -c?