type A is abstract tagged private