src/basis.js
function(value){
          if (value && value !== SELF && (typeof value == 'object' || (typeof value == 'function' && !isClass(value))))
            return BaseClass.create.call(null, NewClass, value);
          else
            return value;
        }
function(value){
          if (value && value !== SELF && (typeof value == 'object' || (typeof value == 'function' && !isClass(value))))
            return BaseClass.create.call(null, NewClass, value);
          else
            return value;
        }
function ( value ) { if ( value && value !== SELF && ( typeof value == 'object' || ( typeof value == 'function' && ! isClass ( value ) ) ) ) return BaseClass . create . call ( null , NewClass , value ) ; else return value ; }
auto extend creates a subclass
auto extend creates a subclass