type A is abstract tagged private;
