Apologies if this is not the correct place for this suggestion.
In the past it has been argued that maintaining the framework is easier with
sealed classes because the implementation of things can change without altering the public API surface.
Now that Xamarin.Forms is Open Source there seems to me little point in maintaining this practice. While it may be "good design" (and that's debatable) there's simply nothing to stop interested parties from forking the source and treating it all as
public regardless of the designer's intentions. In addition,
sealed have never prevented anyone from accessing the internals of Forms by reflection, so their usefulness is moot.
One of the value-adds of the Forms framework is as a wrapper over the native layer that abstracts concepts and provides a basic implementation that's usually "good enough". However on the occasions when it's not "good enough" the
sealed classes in the framework do a massive disservice to anyone wanting to adjust the details of the implementation. They usually cause one to question one's wisdom in building anything with the Forms framework in the first place, since they make things either unreasonably difficult or downright impossible.
It would be much better if the framework were designed as a starting point (i.e. with extension in mind, everything
virtual where possible) rather than an ending point (i.e.
sealed classes everywhere).