It doesn't seem to work that way. Attached is the patch to Crypto.pmod/module.pmod (this one is not complete just for testing purpose)
If try to use it:
object a = Crypto.CRC16();
/usr/local/pike/7.8.447/lib/modules/Crypto.pmod/module.pmod:118:Illegal program pointer. Compiler Error: 1: Index 'CRC16' not present in module Crypto. Compiler Error: 1: Indexed module was: master()->joinnode(({ /* 1 element */ master()->dirnode("/usr/local/pike/7.8.447/lib/modules/Crypto.pmod":0) })). Compiler Error: 1: Attempt to call a non function value `() (function call). Compiler Error: 1: Expected: function. Compiler Error: 1: Got : zero.
If I create a file "CRC16.pmod" like attached in a previous email. I can use CRC16();
protected class _MySubModule { ... }
_MySubModule MySubModule = _MySubModule();