more efficient type checking...