groovy

Groovy's class verification doesn't allow for covariant return types