Kernel.autoload has a few incompatibilities with MRI:
1. It returns receiver instead of nil
2. It needs to show up as defined method by various constant query functions: constants const_defined?
3. Setting a constant that has been autoloaded should cancel the autoload
For the curious only 2 was a problem for activescaffold. actvescaffold autoloads lots o stuff and it depends on seeing those constants with the query functions to actually load them.