support for argument type checking