I also thought about the topic of modules for a long time (about 2 years) for my language Babel-17 (www.babel-17.com). I also wrangled with the issue of encapsulation. I now know exactly how modules should work, what they are good for and why we need them ;-) And why you cannot have proper modules in Erlang without radical change. I am currently writing up these ideas in the spec for the new version of Babel-17 (v0.3) and implementing them. An implementation of Babel-17 that has modules will be available in about a week.