Abstract type materialization module: implement interfaces, abstract classes on runtime