The module lfs seems to be accessible indifferently whether assigned to a local or global variable:
> lfs = require 'lfs'
> print(type(lfs))
table
> local lfs = require 'lfs'
> print(type(lfs))
table
The same does not occur with md5:
> md5 = require 'md5'
> print(type(md5))
table
> local md5 = require 'md5'
> print(type(md5))
nil
What explains the difference?