Can be used for implementing interfaces / abstract classes / sealed classes or extending open classes