It is possible to remove a static cell at runtime from a UITableView. Using functions from the UITableViewDataSource to override the static table view.
What's really going on behind the scenes is composition, which means decorators are also great for cleaning up some functional programming boilerplate.
TypeScript's type system is very powerful—it can represent a lot of JavaScript constructs as a result. Here's how to type a function with an extra property.