@type get_fun(data) :: (:get, data, (term -> term) -> new_data :: container)