compiler: add infer_types module (WIP)