Also load order. In the example app, you’ll see that the JS refers to Template.somethingFromImport. That Template is only guaranteed to be available after calling the import statement first. It might be available anyway due to Meteor’s old magic load order rules, but not if you’re files are in the imports directory.
What’s also confusing is that templates get attached to the Template global. What’s a lot better is nathantreid’s Blaze modules, which behave a bit more like what you’d expect in a proper modules environment.