Title: Directional types in logic programming