TYP: @final in groupby
cc @simonjayhawkins 
 Thanks @jbrockmendel no harm I guess if final is used where the method is not overridden or a class subclassed, but I think the intention of `@final` is to prevent overridding/subclassing. If this many finals are needed, is there something wrong with our class design? If this is kept to non-public code there is not an issue, since we can always remove the `@final` as needed, but we need to be careful when this is used on any subclasses of public classes. > but I think the intention of @final is to prevent overridding/subclassing. If this many finals are needed, is there something wrong with our class design

In these cases I'm using it largely to indicate to the reader that a the method is not overridden, which can be a hassle to check manually bc there are a bunch of similarly-named class hierarchies (each one is individually reasonable) and a bunch of similarly-named methods.
 yes, I can see how that helps. 

users that subclass, override methods and type check may get errors though. Only time will tell whether this will be an real issue for us to consider. ok if you can rebase rebased+green