I see that struct can have data as well as member functions and instances can be created. So they sound like classes only. What additional features do classes offer in D?