         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
         }
         

    
    private let queue = dispatch_queue_create("com.kakapodb.queue", DISPATCH_QUEUE_CONCURRENT)
    private var _uuid = -1
    private var store: [String: ArrayBox<_Storable>] = [:]

    /// Initialize a new in-memory database
    public init() {


/**
 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 }
    
