It generates an unnecessary class file and you need to specify the type parameter explicitly because it would infer the wrong type (the structural refinement instead of the abstract class)