When files are not available, the require family will throw a LoadError. This is an example which illustrates loading optional modules only if they exist.
module TidBits
@@unavailableModules = []
[
{ name: 'CoreExtend', file: 'core_extend/lib/core_extend' } \
, { name: 'Fs' ...