Section 2.4 generic ops