 
 
 
+typealias BSONDoc = [String: Any?]
+
 struct BSONReadingOptions : OptionSet {
 	let rawValue: Int
 	/* Empty. We just create the enum in case we want to add something to it later. */

				fatalError("Not Implemented")
				
			case .timestamp?:
				ret[key] = try readDataFromBuffer(dataSize: 8, alwaysCopyBytes: true, buffer: buffer, bufferStartPos: &posInBuffer, bufferValidLength: &bufferSize, maxBufferSize: maxBufferSize, totalNReadBytes: &totalBytesRead, stream: stream)
				
			case .binary?:
				fatalError("Not Implemented")
				
			case .objectId?:
				ret[key] = try readDataFromBuffer(dataSize: 12, alwaysCopyBytes: true, buffer: buffer, bufferStartPos: &posInBuffer, bufferValidLength: &bufferSize, maxBufferSize: maxBufferSize, totalNReadBytes: &totalBytesRead, stream: stream)
				
			case .javascript?:
				ret[key] = try readString(buffer: buffer, bufferStartPos: &posInBuffer, bufferValidLength: &bufferSize, maxBufferSize: maxBufferSize, totalNReadBytes: &totalBytesRead, stream: stream)

		return data
	}
	
	class func write(BSONObject: BSONDoc, toStream stream: OutputStream, options opt: BSONWritingOptions) throws -> Int {
		return 0
	}
	
	class func isValidBSONObject(_ obj: BSONDoc) -> Bool {
		return false
	}
	
