Fix dialyzer warnings

This closes #9
This closes #13

Signed-off-by: Alexander Shorin <kxepal@apache.org>
diff --git a/src/couch_epi.erl b/src/couch_epi.erl
index 2754261..69f72a2 100644
--- a/src/couch_epi.erl
+++ b/src/couch_epi.erl
@@ -37,7 +37,8 @@
     key/0,
     handle/0,
     plugin_id/0,
-    data_spec/0
+    data_spec/0,
+    apply_opts/0
 ]).
 
 -type app() :: atom().
@@ -128,7 +129,7 @@
     couch_epi_data_gen:subscribers(Handle).
 
 -spec apply(Handle :: handle(), ServiceId :: atom(), Function :: atom(),
-    Args :: [term()], Opts :: apply_opts()) -> ok.
+    Args :: [term()], Opts :: apply_opts()) -> [any()].
 
 apply(Handle, ServiceId, Function, Args, Opts) when Handle /= undefined ->
     couch_epi_functions_gen:apply(Handle, ServiceId, Function, Args, Opts).
diff --git a/src/couch_epi_functions_gen.erl b/src/couch_epi_functions_gen.erl
index 4990b60..311dd62 100644
--- a/src/couch_epi_functions_gen.erl
+++ b/src/couch_epi_functions_gen.erl
@@ -44,7 +44,7 @@
     apply(get_handle(ServiceId), ServiceId, Function, Args, Opts).
 
 -spec apply(Handle :: atom(), ServiceId :: atom(), Function :: atom(),
-    Args :: [term()], Opts :: couch_epi:apply_opts()) -> ok.
+    Args :: [term()], Opts :: couch_epi:apply_opts()) -> [any()].
 
 apply(Handle, _ServiceId, Function, Args, Opts) ->
     DispatchOpts = parse_opts(Opts),