Create the actual datatype sort from the declared constructors. For mutually recursive datatypes, use Context.createDatatypes instead.
Create a polymorphic datatype sort with explicit type parameters. Type parameters should be sorts created with Context.TypeVariable. Self-recursive fields may reference this Datatype object directly.
Array of type variable sorts
Helper class for declaring Z3 datatypes.
Follows the same pattern as Python Z3 API for declaring constructors before creating the actual datatype sort.
Example