API design: generic typelias vs empty generic subclass

Hi guys, I'm designing some new APIs and I want to now your opinion about using generic typealiases vs generic subclasses with empty implementation.
Here is an example:

class GenericViewController<V: UIView>: UIViewController {}

class TableViewController: GenericViewController<UITableView> {}
// or
typealias TableViewController = GenericTableViewController<UITableView>

Which approach do you think is better? Does the approach scales well with increasing generic parameters/constraints?

Merry Christmas!!!

For me, I'll choose to write like this:

class GenericViewController<V>: UIViewController where V: UIView { ... }

typealias TableViewController = GenericViewController<UITableView>

Just personal opinion.