             realm.add(refs.flatMap(realm.resolve), update: update)
         }
     }
-    
+
+    /// Creates or updates a Realm object with a given value, adding it to the Realm and returning it.
+    ///
+    /// - parameter type:   The type of the object to create.
+    /// - parameter value:  The value used to populate the object.
+    /// - parameter update: If `true`, the Realm will try to find an existing copy of the object (with the same primary
+    /// key), and update it. Otherwise, the object will be added.
+    /// - returns: `Write` operation
     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)
         }
     }
 
+    /// This method is useful only in specialized circumstances, for example, when building
+    /// components that integrate with Realm. If you are simply building an app on Realm, it is
+    /// recommended to use the typed method `create(_:value:update:)`.
+    ///
+    /// - parameter className:  The class name of the object to create.
+    /// - parameter value:      The value used to populate the object.
+    /// - parameter update:     If true will try to update existing objects with the same primary key.
+    /// - returns: `Write` operation
     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)
         }
     }
 
+    /// Deletes an object from the Realm. Once the object is deleted it is considered invalidated.
+    ///
+    /// - parameter object: The object to be deleted.
+    /// - returns: `Write` operation
     public static func delete(_ object: Object) -> RealmWrite<Void> {
         let ref = ThreadSafeReference(to: object)
 

        }
    }

    public static func delete<T>(_ objects: List<T>) -> RealmWrite<Void> where T: Object {
        let refs = objects.map(ThreadSafeReference.init)

        return RealmWrite<Void> { realm in

        }
    }

    /// Adds or updates all the objects in a collection into the Realm.
    ///
    /// - Parameter objects: A sequence which contains objects to be added to the Realm.
    /// - Parameter update: If `true`, objects that are already in the Realm will be updated instead of added anew.
    /// - Returns: `Write` operation
    public static func add<S>(_ objects: S, update: Bool) -> RealmWrite<Void> where S: Sequence, S.Iterator.Element: Object {
        guard objects.isManaged else {
            return RealmWrite<Void> { realm in realm.add(objects, update: update) }
