 
 extension RemoteDeletable where Self: DelayedDeletable {
 
+  /// **Mechanica**
+  ///
+  /// Protocol `RemoteDeletable`.
+  ///
+  /// Predicate to filter for objects that are marked for remote deletion.
   public static var notMarkedForDeletionPredicate: NSPredicate {
     return NSCompoundPredicate(andPredicateWithSubpredicates: [notMarkedForLocalDeletionPredicate, notMarkedForRemoteDeletionPredicate])
   }


extension RemoteDeletable where Self: NSManagedObject {

  public var hasChangedForRemoteDeletion: Bool {
    return changedValue(forKey: markedForRemoteDeletionKey) as? Bool == true
  }


extension NSFetchRequestResult where Self: NSManagedObject, Self: DelayedDeletable {

  /// **Mechanica**
  ///
  /// Makes a batch delete for object conforming to `DelayedDeletable` older than the `cutOffDate` date.
