Not used directly—see subtypes.