I thought about this, but it doesn't seem to actually resolve the issue; it only reduces the likelihood of problems. This solution prevents the user from passing a Module as the first argument to their module. Attempts to do this would instantiate the module as that argument instead. I would agree if you were to suggest this to be an improbable situation, but it's a worrisome 'bug' to have floating around nonetheless.