fix up abstract properties to raise NotImplementedError instead of returning NotImplemented