check: using(errors) definitions
   
    checkintf: callmessage (
        p: predefined!program,
        errors: procErrors
      ) 
    constant (p)
    exit { full, checked(p) }
    minimum {full(p)}
    exception failure { full };
    
    checkQ: inport of checkintf { full(p) };
    checkFn: outport of checkQ;
    
    checkdefinitionsintf: callmessage (
        module: definitions_module,  -- the module to check
        defs: definitions_modules, -- the library to check against
        errors: errors
      )
    constant (defs)
    exit { full, checkeddefinitions(module) }
    minimum {full(defs)}
    exception failure {full};
    
    checkdefinitionsQ: inport of checkdefinitionsintf 
       { full(module), full(defs) };
    checkdefinitionsFn: outport of checkdefinitionsQ;

  end definitions
