The Aditi interface and Aditi itself are still in development.

* aditi__state arguments must currently be ground, not unique. This will
  be fixed when the alias tracking mode analyser is released. Use the
  mode aditi_mui defined in aditi.m instead for now.

* Only calls to local, non-recursive Mercury predicates are allowed
  from Aditi procedures (they are generated inline). The code
  generator aborts if recursive predicates are called. Stick
  to builtins in join conditions for now.
  Non-deterministic predicates will probably not work.

* Abstract data types are not supported.

* Existential types are not supported.

* Types with user-defined equality predicates are not supported.

