- 
    Type:
Improvement
 - 
    Resolution: Gone away
 - 
    Priority:
Major - P3
 - 
    None
 - 
    Affects Version/s: None
 - 
    Component/s: BSON
 - 
    None
 
- 
        None
 
- 
        None
 - 
        None
 - 
        None
 - 
        None
 - 
        None
 - 
        None
 
In order to correctly handle replace and update operations differently, we need to be able to check whether the first key in a document (interface{}) begins with '$'. Currently, we have to marshal the document into a byte slice and then unmarshal into a bson.D. This is very inefficient, so we should implement a more efficient method of doing this check.