I can build a macro though to reproduce the behavior of an abstract class