         }
     }
 
-    public static func delete<T>(_ objects: Results<T>) -> RealmWrite<Void> where T: Object {
+    /// Deletes zero or more objects from the Realm.
+    ///
+    /// - parameter objects: A `Results` containing the objects to be deleted.
+    /// - returns: `Write` operation
+    public static func delete<T: Object>(_ objects: Results<T>) -> RealmWrite<Void> {
         let refs = objects.map(ThreadSafeReference.init)
 
         return RealmWrite<Void> { realm in

            realm.add(refs.flatMap(realm.resolve), update: update)
        }
    }
    
    public static func create<T>(_ type: T.Type, value: Any = [:], update: Bool = false) -> RealmWrite<T> where T: Object {
        return RealmWrite<T> { realm in
            return realm.create(type, value: value, update: update)
        }
    }

    public static func dynamicCreate(_ typeName: String, value: Any = [:], update: Bool = false) -> RealmWrite<DynamicObject> {
        return RealmWrite<DynamicObject> { realm in
            return realm.dynamicCreate(typeName, value: value, update: update)
        }
    }

    public static func delete(_ object: Object) -> RealmWrite<Void> {
        let ref = ThreadSafeReference(to: object)


        }
    }

    /// Adds all the objects in a collection into the Realm.
    ///
    /// - Parameter objects: A sequence which contains objects to be added to the Realm.
    /// - Returns: `Write` operation
    public static func add<S>(_ objects: S) -> RealmWrite<Void> where S: Sequence, S.Iterator.Element: Object {
        guard objects.isManaged else {
            return RealmWrite<Void> { realm in realm.add(objects) }
