I don't understand why so many conditions are required here, or why casting is involved. The way to test for null is through strict equality with itself.

```js
function is_null (any) {
    return any === null;
}
```