     }
 }
 
-/// MongoDB: `$or`
+/// MongoDB: `$or`. Used like native swift `||`
+///
+/// Checks wither either of these `Query` statements is true
+///
+/// - returns: A new `Query` that is true when at least one of the two queries is true
 public func ||(lhs: Query, rhs: Query) -> Query {
     let lhs = lhs.aqt
     let rhs = rhs.aqt

}

// MARK: Comparisons
/// MongoDB: `$gt`
public func >(key: String, pred: ValueConvertible) -> Query {
    return Query(aqt: .greaterThan(key: key, val: ~pred))
}

/// MongoDB: `$gte`
public func >=(key: String, pred: ValueConvertible) -> Query {
    return Query(aqt: .greaterThanOrEqual(key: key, val: ~pred))
}

/// MongoDB: `$lt`
public func <(key: String, pred: ValueConvertible) -> Query {
    return Query(aqt: .smallerThan(key: key, val: ~pred))
}

/// MongoDB: `$lte`
public func <=(key: String, pred: ValueConvertible) -> Query {
    return Query(aqt: .smallerThanOrEqual(key: key, val: ~pred))
}

/// Appends `rhs` to `lhs`
public func &&(lhs: Query, rhs: Query) -> Query {
    let lhs = lhs.aqt
    let rhs = rhs.aqt

import BSON

// MARK: Equations

/// Equals
public func ==(key: String, pred: ValueConvertible) -> Query {
    return Query(aqt: .valEquals(key: key, val: ~pred))
