typeful logic programming languages and categorical semantics/logic