persistent +Spec
:- persistent
<callable>,
<callable>,
...
Each specification is a callable term, following the conventions of library(record),
where each argument is of the form
name:type
Types are defined by library(error).