[Diagnostics/Debug] Extending the Type interface and adding an abstract Type.