Say I have a function that accepts an int:

```
void foo(int a) {
...
}

```

What kinds of check can I include in `foo`'s body to ensure that what is passed in is indeed an `int`? As it stands now, if I pass in a `float` for example it simply is truncated to an `int`. It would be great to have something like Java's `instanceof` keyword, but I guess that's probably too much to hope for.