I think this paragraph should be removed: in the Set/Map case, there is no polymorphic alternative to use in stead, so there is no need to justify the need for the functorial interface (and it's just instantiation, not properly speaking "specialization").