Given, ggforce's filter inspiration #6774, another add that might be useful to the extender crowd could be combine_aes(), helpful in that it afford greater concision and also help better record which part of existing the defaults are the target of a change, as is done for example in GeomCircle's definition:
GeomCircle <- ggproto('GeomCircle', GeomShape,
default_aes = combine_aes(GeomShape$default_aes, aes(colour = 'black', fill = NA))
)