 func == (lhs: Object, rhs: Object) -> Bool {
 	return lhs.value == rhs.value
 }
+
+enum Int64Enum: NSNumber {
+	case A = 0
+	case B = 1000
+}
+
+enum IntEnum: Int {
+	case A = 0
+	case B = 255
+}
+
+enum DoubleEnum: Double {
+	case A = 0.0
+	case B = 100.0
+}
+
+enum FloatEnum: Float {
+	case A = 0.0
+	case B = 100.0
+}
+
+enum StringEnum: String {
+	case A = "String A"
+	case B = "String B"
+}

					"floatDict": ["5": 123.456 as Float],
					"stringDict": ["6": "InDict"],

					"nested": [
						"object": ["value": 987],
						"objectArray": [ ["value": 123], ["value": 456] ],

		floatDict	<- map["nested.nested.floatDict"]
		stringDict	<- map["nested.nested.stringDict"]

		int64Enum	<- map["nested.nested.int64Enum"]
		intEnum		<- map["nested.nested.intEnum"]
		doubleEnum	<- map["nested.nested.doubleEnum"]
		floatEnum	<- map["nested.nested.floatEnum"]
		stringEnum	<- map["nested.nested.stringEnum"]

		object		<- map["nested.nested.nested.object"]
		objectArray	<- map["nested.nested.nested.objectArray"]
		objectDict	<- map["nested.nested.nested.objectDict"]
