Datalog.Term
type 'a t
type _ hlist =
| [] : nil hlist
| :: : 'a t * 'b hlist -> ('a -> 'b) hlist
val constant : 'a -> 'a t