     case JSONError
   }
 
-  private static func parse<T, U>(type: U.Type, keyPath: String?, callback: U throws -> T) -> ResponseSerializer<T, NSError> {
+  private static func parse<T, U>(keyPath: String?, callback: U throws -> T) -> ResponseSerializer<T, NSError> {
     return ResponseSerializer { request, response, data, error in
       guard error == nil else { return .Failure(error!) }
 

  }

  public static func GenomeSerializer<T: MappableObject>(keyPath: String?) -> ResponseSerializer<[T], NSError> {
    let serializer = parse([JSON].self, keyPath: keyPath) { json -> [T] in
      let parsedArray = try [T].mappedInstance(json)
      return parsedArray
    }

  // MARK: Serialization

  public static func GenomeSerializer<T: MappableObject>(keyPath: String?) -> ResponseSerializer<T, NSError> {
    let serializer = parse(keyPath) { (json: JSON) -> T in
      let parsedObject = try T.mappedInstance(json)
      return parsedObject
    }
