Here are the types that are used in Mystemex.
Summary
Types
@type analyze_items() :: [%{analysis: [analysis_item()], text: String.t()}]
@type analyze_response() :: base_response(analyze_items())
@type lemmatize_response() :: base_response([String.t()])
@type lemmatize_word_response() :: base_response(String.t())
@type query_kind() :: :analyze | :lemmatize | :lemmatize_word
@type query_type() :: {query_kind(), String.t()}
@type responses() :: analyze_response() | lemmatize_response() | lemmatize_word_response()