api/context: refactor the api, add docstrings
llvm/api: corrected type signature of two functions
api/module: refactor the api, add docstrings