MATLAB: Fear of shadows

checksumconflictsshadowshadowed

In all likelihood this is a naive rookie question but… I currently have 12,514 .m files in my path, and 974 of them have at least 1 shadow (with checksum errors). Why is this acceptable (or should I be worried)?
Example:
% >> which -all asec
built-in (/Applications/MATLAB_R2017b.app/toolbox/matlab/elfun/@double/asec) % double method
built-in (/Applications/MATLAB_R2017b.app/toolbox/matlab/elfun/@single/asec) % single method
/Users/jrcasey/Documents/MATLAB/Software/cobratoolbox/external/mptoolbox_1.2/@mp/asec.m % mp method
/Applications/MATLAB_R2017b.app/toolbox/distcomp/parallel/@codistributed/asec.m % codistributed method
/Applications/MATLAB_R2017b.app/toolbox/distcomp/gpu/@gpuArray/asec.m % gpuArray method
/Applications/MATLAB_R2017b.app/toolbox/symbolic/symbolic/@sym/asec.m % sym method

Best Answer

In each case you show above, there is an @ prefix on at least level of a directory involved. The @ prefix is used with the implementation of object oriented classes, and (part from the constructor methods and some static class methods), those .m files are only used when operating on an object of the type named there. For example, @sym/asec.m is only used for sym objects and @single/asec is only used for objects of class "single". So none of what you show there is in conflict with anything. If you notice at the end of each of those lines, it says something "method": that tells you the class name the function is active for.
Now, suppose that
/Users/jrcasey/Documents/MATLAB/Software/cobratoolbox/external/mptoolbox_1.2/@mp/asec.m
had instead been
/Users/jrcasey/Documents/MATLAB/Software/cobratoolbox/external/mptoolbox_1.2/mp/asec.m
without any @. There would then be a risk that the asec function there would be used instead of the routine you expect.