Categories admitting limits, distributive laws General category theory mathematics