extended type checking with Runtime types