Limits and colimits, universal constructions General category theory mathematics