In Erlang, is it possible to define a type by excluding a subtype from a supertype? As an example, how would I define a type that is "anything but pid()":
-type anything_but_pid() :: ...?
Reading the docs on supervisor data types, I came across this type spec for child_id(), which defines the type as term(), and then says Not a pid() in a comment below:
child_id() = term()Not a
pid().
Is that the best I can do if I don't want to explicitly list all possible types?