         return String(_uuid)
     }
     
-    private func lookup<T: Storable>(_: T.Type) -> ArrayBox<_Storable> {
-        var boxedArray: ArrayBox<_Storable>
+    private func lookup<T: Storable>(_: T.Type) -> ArrayBox<Storable> {
+        var boxedArray: ArrayBox<Storable>
         
         if let storedBoxedArray = store[String(T)] {
             boxedArray = storedBoxedArray
         } else {
-            boxedArray = ArrayBox<_Storable>([])
+            boxedArray = ArrayBox<Storable>([])
             store[String(T)] = boxedArray
         }
         

        let objects = ids.map { id in T(id: id, db: self) }
        
        barrierAsync {
            self.lookup(T).value.appendContentsOf(objects.flatMap{ $0 as _Storable })
        }
        
        return objects


/**
 A base protocol providing basic storage behavior with an `id` and a generic `init` method for all objects that will be inserted. 
 */
public protocol Storable {
    /// The unique identifier provided by `KakapoDB`, objects shouldn't generate ids themselves. `KakapoDB` generate `Int` ids converted to String for better compatibilities with standards like JSONAPI, in case you need `Int` ids is safe to assume that the conversion will always succeeed.
    var id: String { get }
    
