area -r (p_figure _)                                                           /* Auto-generated */
{
  select (figure->type_stamp)
  {
    case T_SQUARE: return area ((p_square) figure);                            /* O(n) */
    case T_CIRCLE: return area ((p_circle) figure);
  }
  else
  {
    error (ERR_TYPE);
  }
}
