The interface should be predictable, but that is not the same as uniform.


The interface should be predictable, but that is not the same as uniform. Uniformity can manifest in subtle ways & so underlying uniformity must be learned. (This is often difficult: consider number theory, which despite being an elaboration upon simple arithmetic, contains hidden uniformities that produce problems professional mathematicians have been spending generations trying to understand.) A much easier way to produce predictability is to build the thing yourself, so that even non-uniform behaviors are at least familiar.