anchor.diff:      end,
       Mod:go(Db, Design, View, QueryArgs, Callback, Acc0).
   
  -get_view_group_info(Db, DesignId) ->
  -    fabric_group_info:go(dbname(Db), design_doc(DesignId)).
  -
  +%% @doc retrieve info about a view group, disk size, language, whether compaction
  +%%      is running and so forth
  +-spec get_view_group_info(Db::db_name(), DesignId::(#doc{} | list() | binary())) ->
  +                             {ok, list(tuple())}.
  +get_view_group_info(DbName, DesignId) ->
  +    fabric_group_info:go(dbname(DbName), design_doc(DesignId)).
  +
  +%% @doc retrieve all the design docs from a database
  +-spec design_docs(DbName:: db_name()) ->
  +                     {ok, [json_obj()]}.
   design_docs(DbName) ->
       QueryArgs = #view_query_args{start_key = <<"_design/">>, include_docs=true},
       Callback = fun({total_and_offset, _, _}, []) ->
  
positive.code:         end,
      couch_util:get_value(Key, Indexes).
  
  
  kl_to_record(KeyList,RecName) ->
      Acc0 = case RecName of
            changes_args -> #changes_args{};
  
negative.code: kl_to_query_args(KeyList) ->
      kl_to_record(KeyList, view_query_args).
  
  %% @doc finds the index of the given Key in the record.
  %%      note that record_info is only known at compile time
  %%      so the code must be written in this way. For each new
  %%      record type add a case clause
  lookup_index(Key,RecName) ->
      Indexes =
          case RecName of
  