--- /dev/null
+define(function () {
+
+ var _rKind = /^\[object (.*)\]$/,
+ _toString = Object.prototype.toString,
+ UNDEF;
+
+ /**
+ * Gets the "kind" of value. (e.g. "String", "Number", etc)
+ */
+ function kindOf(val) {
+ if (val === null) {
+ return 'Null';
+ } else if (val === UNDEF) {
+ return 'Undefined';
+ } else {
+ return _rKind.exec( _toString.call(val) )[1];
+ }
+ }
+ return kindOf;
+});