Metadata for a callback predicate declared with the predicate/5 macro.
Records the DSL name, the target module/function, the declared argument
types, and the return type (:boolean for filters, :value for
value-returning callbacks).
Summary
Types
@type return_type() :: :boolean | :value
@type t() :: %ExDatalog.Schema.PredicateMeta{ arg_types: [atom()], function: atom(), module: module(), name: atom(), return_type: return_type() }