type.js - offers an more consistent type checking of native values.
It relays on the [[Class]] of objects instead on typeof
results.
type2.js - variation that returns "object" for wrapped natives. This one is probably more noob-immune, avoiding some possible strange situations.
Consider something like this:
// Defined by third...
var foo = new String("foo");