The ML module language, as well as the scientific literature on it, consistently uses analogies from category theory. For instance, mappings between signatures (viewed as categories whose objects are structures) are called “functors”. Also, the act of making a signature less abstract by specifying one of its abstract type components is called (parameterization by) “fibration”. This analogy has some merit. For instance, the technique of structural abstraction shown in section 10.2 of Okasaki's book “Purely Functional Data Structures” can be viewed as defining monads - in categories other than Hask (or Scal or whatever)!
The analogy isn't 100% precise, though: If structures with the same signature (and perhaps equational laws) form the objects of a category, then what exactly are the morphisms? There are several possibilities. My favorite one is pre-ordering structures by the asymptotic complexity of their operations. (Every preorder can be viewed as a thin category.)