 			} else {
 				var array = Array<IvarObject>()
 				for val in values {
+					#if os(Linux)
+					array.append(try self.encodeObject(ofObject: val as! AnyObject))
+					#else
 					array.append(try self.encodeObject(ofObject: val as AnyObject))
+					#endif
 				}
 				return try IvarArray(name: key, value: array)
 			}

			if typeInfo.isArray {
				return try self.getArray(ofValues: value as! [AnyObject], forKey: key)
			} else {
				return try self.encodeObject(ofObject: value as AnyObject, forKey: key)
			}
		}
	}

		return (typeName: typeString, isOptional: isOptional, isArray: isArray)
	}
}
