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