I was wondering if anyone knew why you needed to declare the signature of methods with attributes inside the classdef block when defining the function in a separate file? I often find that I created a mismatch between what the signature was originally and how it is currently defined in the function file. The errors aren't that helpful either, e.g. "Too many input arguments." I could understand if just the function name were necessary, as this would allow keeping all of the attributes in a single file. The "normal" methods don't need a signature in the classdef block. What gives?