<html>
 <head>
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <link rel="stylesheet" href="../../coverage.css"/>  <title> dog_and_duck/quack/picky.clj </title>
 </head>
 <body>
<span class="covered" title="1 out of 1 forms covered">
                001&nbsp;&nbsp;(ns&nbsp;dog-and-duck.quack.picky&nbsp;&quot;Fault-finder&nbsp;for&nbsp;ActivityPub&nbsp;documents.&nbsp;
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                002&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                003&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Generally,&nbsp;each&nbsp;`-faults`&nbsp;function&nbsp;will&nbsp;return:
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                004&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                005&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.&nbsp;`nil`&nbsp;if&nbsp;no&nbsp;faults&nbsp;were&nbsp;found;
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                006&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.&nbsp;a&nbsp;sequence&nbsp;of&nbsp;fault&nbsp;objects&nbsp;if&nbsp;faults&nbsp;were&nbsp;found.
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                007&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                008&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Each&nbsp;fault&nbsp;object&nbsp;shall&nbsp;have&nbsp;the&nbsp;properties:
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                009&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                010&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.&nbsp;`:@context`&nbsp;whose&nbsp;value&nbsp;shall&nbsp;be&nbsp;the&nbsp;URL&nbsp;of&nbsp;a&nbsp;
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                011&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;document&nbsp;specifying&nbsp;this&nbsp;vocabulary;
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                012&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.&nbsp;`:type`&nbsp;whose&nbsp;value&nbsp;shall&nbsp;be&nbsp;`Fault`;
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                013&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3.&nbsp;`:severity`&nbsp;whose&nbsp;value&nbsp;shall&nbsp;be&nbsp;one&nbsp;of&nbsp;
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                014&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`info`,&nbsp;`minor`,&nbsp;`should`,&nbsp;`must`&nbsp;or&nbsp;`critical`;
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                015&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4.&nbsp;`:fault`&nbsp;whose&nbsp;value&nbsp;shall&nbsp;be&nbsp;a&nbsp;unique&nbsp;token
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                016&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;representing&nbsp;the&nbsp;particular&nbsp;fault&nbsp;type;
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                017&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5.&nbsp;`:narrative`&nbsp;whose&nbsp;value&nbsp;shall&nbsp;be&nbsp;a&nbsp;natural
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                018&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;language&nbsp;description&nbsp;of&nbsp;the&nbsp;fault&nbsp;type.
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                019&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                020&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Note&nbsp;that&nbsp;the&nbsp;reason&nbsp;for&nbsp;the&nbsp;`:fault`&nbsp;property&nbsp;is
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                021&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;to&nbsp;be&nbsp;able&nbsp;to&nbsp;have&nbsp;a&nbsp;well&nbsp;known&nbsp;place,&nbsp;linked&nbsp;to
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                022&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;from&nbsp;the&nbsp;@context&nbsp;URL,&nbsp;which&nbsp;allows&nbsp;narratives&nbsp;
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                023&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;each&nbsp;fault&nbsp;type&nbsp;to&nbsp;be&nbsp;served&nbsp;in&nbsp;as&nbsp;many
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                024&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;natural&nbsp;languages&nbsp;as&nbsp;possible.
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                025&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                026&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The&nbsp;idea&nbsp;further&nbsp;is&nbsp;that&nbsp;it&nbsp;should&nbsp;ultimately&nbsp;be
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                027&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;possible&nbsp;to&nbsp;serialise&nbsp;a&nbsp;fault&nbsp;report&nbsp;as&nbsp;a&nbsp;
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                028&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;document&nbsp;which&nbsp;in&nbsp;its&nbsp;own&nbsp;right&nbsp;conforms&nbsp;to&nbsp;the
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                029&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ActivityStreams&nbsp;spec.&quot;
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                030&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(:require&nbsp;[dog-and-duck.quack.picky.collections&nbsp;:refer&nbsp;[collection-page-faults
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                031&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;paged-collection-faults
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                032&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;simple-collection-faults]]
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                033&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[dog-and-duck.quack.picky.constants&nbsp;:refer&nbsp;[actor-types]]
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                034&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[dog-and-duck.quack.picky.utils&nbsp;:refer&nbsp;[any-or-faults
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                035&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;coll-object-reference-or-fault
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                036&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;concat-non-empty
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                037&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;has-activity-type?
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                038&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;has-actor-type?&nbsp;has-type?
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                039&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;has-type-or-fault
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                040&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;make-fault-object
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                041&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;object-faults
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                042&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;object-reference-or-faults
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                043&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string-or-fault]])
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                044&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(:import&nbsp;[java.net&nbsp;URI&nbsp;URISyntaxException]))
                </span><br/>
<span class="blank" title="0 out of 0 forms covered">
                045&nbsp;&nbsp;
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                046&nbsp;&nbsp;;;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Copyright&nbsp;(C)&nbsp;Simon&nbsp;Brooke,&nbsp;2022
                </span><br/>
<span class="blank" title="0 out of 0 forms covered">
                047&nbsp;&nbsp;
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                048&nbsp;&nbsp;;;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;program&nbsp;is&nbsp;free&nbsp;software;&nbsp;you&nbsp;can&nbsp;redistribute&nbsp;it&nbsp;and&#x2F;or
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                049&nbsp;&nbsp;;;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;modify&nbsp;it&nbsp;under&nbsp;the&nbsp;terms&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                050&nbsp;&nbsp;;;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;as&nbsp;published&nbsp;by&nbsp;the&nbsp;Free&nbsp;Software&nbsp;Foundation;&nbsp;either&nbsp;version&nbsp;2
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                051&nbsp;&nbsp;;;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;of&nbsp;the&nbsp;License,&nbsp;or&nbsp;(at&nbsp;your&nbsp;option)&nbsp;any&nbsp;later&nbsp;version.
                </span><br/>
<span class="blank" title="0 out of 0 forms covered">
                052&nbsp;&nbsp;
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                053&nbsp;&nbsp;;;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;program&nbsp;is&nbsp;distributed&nbsp;in&nbsp;the&nbsp;hope&nbsp;that&nbsp;it&nbsp;will&nbsp;be&nbsp;useful,
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                054&nbsp;&nbsp;;;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;but&nbsp;WITHOUT&nbsp;ANY&nbsp;WARRANTY;&nbsp;without&nbsp;even&nbsp;the&nbsp;implied&nbsp;warranty&nbsp;of
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                055&nbsp;&nbsp;;;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MERCHANTABILITY&nbsp;or&nbsp;FITNESS&nbsp;FOR&nbsp;A&nbsp;PARTICULAR&nbsp;PURPOSE.&nbsp;&nbsp;See&nbsp;the
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                056&nbsp;&nbsp;;;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;for&nbsp;more&nbsp;details.
                </span><br/>
<span class="blank" title="0 out of 0 forms covered">
                057&nbsp;&nbsp;
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                058&nbsp;&nbsp;;;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;You&nbsp;should&nbsp;have&nbsp;received&nbsp;a&nbsp;copy&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                059&nbsp;&nbsp;;;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;along&nbsp;with&nbsp;this&nbsp;program;&nbsp;if&nbsp;not,&nbsp;write&nbsp;to&nbsp;the&nbsp;Free&nbsp;Software
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                060&nbsp;&nbsp;;;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Foundation,&nbsp;Inc.,&nbsp;51&nbsp;Franklin&nbsp;Street,&nbsp;Fifth&nbsp;Floor,&nbsp;Boston,&nbsp;MA&nbsp;&nbsp;02110-1301,&nbsp;USA.
                </span><br/>
<span class="blank" title="0 out of 0 forms covered">
                061&nbsp;&nbsp;
                </span><br/>
<span class="covered" title="1 out of 1 forms covered">
                062&nbsp;&nbsp;(defn&nbsp;uri-or-fault
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                063&nbsp;&nbsp;&nbsp;&nbsp;&quot;If&nbsp;`u`&nbsp;is&nbsp;not&nbsp;a&nbsp;valid&nbsp;URI,&nbsp;return&nbsp;a&nbsp;fault&nbsp;object&nbsp;with&nbsp;this&nbsp;`severity`&nbsp;and&nbsp;
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                064&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`if-invalid-token`.&nbsp;If&nbsp;it&#x27;s&nbsp;`nil`,&nbsp;return&nbsp;a&nbsp;fault&nbsp;object&nbsp;with&nbsp;this&nbsp;`severity`
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                065&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;and&nbsp;`if-missing-token`.&nbsp;Otherwise&nbsp;return&nbsp;nil.&quot;
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                066&nbsp;&nbsp;&nbsp;&nbsp;([u&nbsp;severity&nbsp;if-missing-token]
                </span><br/>
<span class="not-covered" title="0 out of 6 forms covered">
                067&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(uri-or-fault&nbsp;u&nbsp;severity&nbsp;if-missing-token&nbsp;if-missing-token))
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                068&nbsp;&nbsp;&nbsp;&nbsp;([u&nbsp;severity&nbsp;if-missing-token&nbsp;if-invalid-token]
                </span><br/>
<span class="covered" title="1 out of 1 forms covered">
                069&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(try
                </span><br/>
<span class="covered" title="6 out of 6 forms covered">
                070&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(if&nbsp;(uri?&nbsp;(URI.&nbsp;u))
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                071&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nil
                </span><br/>
<span class="not-covered" title="0 out of 4 forms covered">
                072&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(make-fault-object&nbsp;severity&nbsp;if-invalid-token))
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                073&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(catch&nbsp;URISyntaxException&nbsp;_
                </span><br/>
<span class="not-covered" title="0 out of 4 forms covered">
                074&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(make-fault-object&nbsp;severity&nbsp;if-invalid-token))
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                075&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(catch&nbsp;NullPointerException&nbsp;_
                </span><br/>
<span class="covered" title="4 out of 4 forms covered">
                076&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(make-fault-object&nbsp;severity&nbsp;if-missing-token)))))
                </span><br/>
<span class="blank" title="0 out of 0 forms covered">
                077&nbsp;&nbsp;
                </span><br/>
<span class="covered" title="1 out of 1 forms covered">
                078&nbsp;&nbsp;(defn&nbsp;persistent-object-faults
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                079&nbsp;&nbsp;&nbsp;&nbsp;&quot;Return&nbsp;a&nbsp;list&nbsp;of&nbsp;faults&nbsp;found&nbsp;in&nbsp;persistent&nbsp;object&nbsp;`x`,&nbsp;or&nbsp;`nil`&nbsp;if&nbsp;none&nbsp;are.&quot;
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                080&nbsp;&nbsp;&nbsp;&nbsp;([x]
                </span><br/>
<span class="covered" title="2 out of 2 forms covered">
                081&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(concat-non-empty
                </span><br/>
<span class="covered" title="3 out of 3 forms covered">
                082&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(object-faults&nbsp;x)
                </span><br/>
<span class="covered" title="2 out of 2 forms covered">
                083&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(list
                </span><br/>
<span class="covered" title="5 out of 5 forms covered">
                084&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(if&nbsp;(contains?&nbsp;x&nbsp;:id)
                </span><br/>
<span class="covered" title="6 out of 6 forms covered">
                085&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(try&nbsp;(let&nbsp;[id&nbsp;(URI.&nbsp;(:id&nbsp;x))]
                </span><br/>
<span class="covered" title="6 out of 6 forms covered">
                086&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(when-not&nbsp;(=&nbsp;(.getScheme&nbsp;id)&nbsp;&quot;https&quot;)
                </span><br/>
<span class="covered" title="4 out of 4 forms covered">
                087&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(make-fault-object&nbsp;:should&nbsp;:id-not-https)))
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                088&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(catch&nbsp;URISyntaxException&nbsp;_
                </span><br/>
<span class="covered" title="4 out of 4 forms covered">
                089&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(make-fault-object&nbsp;:must&nbsp;:id-not-uri))
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                090&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(catch&nbsp;NullPointerException&nbsp;_
                </span><br/>
<span class="not-covered" title="0 out of 4 forms covered">
                091&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(make-fault-object&nbsp;:must&nbsp;:null-id-persistent)))
                </span><br/>
<span class="covered" title="4 out of 4 forms covered">
                092&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(make-fault-object&nbsp;:must&nbsp;:no-id-persistent)))))
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                093&nbsp;&nbsp;&nbsp;&nbsp;([x&nbsp;types&nbsp;severity&nbsp;token]
                </span><br/>
<span class="not-covered" title="0 out of 2 forms covered">
                094&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(concat-non-empty
                </span><br/>
<span class="not-covered" title="0 out of 3 forms covered">
                095&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(persistent-object-faults&nbsp;x)
                </span><br/>
<span class="not-covered" title="0 out of 2 forms covered">
                096&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(list
                </span><br/>
<span class="not-covered" title="0 out of 6 forms covered">
                097&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(has-type-or-fault&nbsp;x&nbsp;types&nbsp;severity&nbsp;token)))))
                </span><br/>
<span class="blank" title="0 out of 0 forms covered">
                098&nbsp;&nbsp;
                </span><br/>
<span class="covered" title="1 out of 1 forms covered">
                099&nbsp;&nbsp;(defn&nbsp;actor-faults
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                100&nbsp;&nbsp;&nbsp;&nbsp;&quot;Return&nbsp;a&nbsp;list&nbsp;of&nbsp;faults&nbsp;found&nbsp;in&nbsp;actor&nbsp;`x`,&nbsp;or&nbsp;`nil`&nbsp;if&nbsp;none&nbsp;are.&quot;
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                101&nbsp;&nbsp;&nbsp;&nbsp;[x]
                </span><br/>
<span class="covered" title="2 out of 2 forms covered">
                102&nbsp;&nbsp;&nbsp;&nbsp;(concat-non-empty
                </span><br/>
<span class="covered" title="3 out of 3 forms covered">
                103&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(persistent-object-faults&nbsp;x)
                </span><br/>
<span class="covered" title="2 out of 2 forms covered">
                104&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(list
                </span><br/>
<span class="covered" title="6 out of 6 forms covered">
                105&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(when-not&nbsp;(has-actor-type?&nbsp;x)
                </span><br/>
<span class="covered" title="4 out of 4 forms covered">
                106&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(make-fault-object&nbsp;:must&nbsp;:not-actor-type))
                </span><br/>
<span class="covered" title="5 out of 5 forms covered">
                107&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(uri-or-fault
                </span><br/>
<span class="covered" title="3 out of 3 forms covered">
                108&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(:inbox&nbsp;x)&nbsp;:must&nbsp;:no-inbox&nbsp;:invalid-inbox-uri)
                </span><br/>
<span class="covered" title="5 out of 5 forms covered">
                109&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(uri-or-fault
                </span><br/>
<span class="covered" title="3 out of 3 forms covered">
                110&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(:outbox&nbsp;x)&nbsp;:must&nbsp;:no-outbox&nbsp;:invalid-outbox-uri))))
                </span><br/>
<span class="blank" title="0 out of 0 forms covered">
                111&nbsp;&nbsp;
                </span><br/>
<span class="covered" title="1 out of 1 forms covered">
                112&nbsp;&nbsp;(defn&nbsp;link-faults
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                113&nbsp;&nbsp;&nbsp;&nbsp;&quot;A&nbsp;link&nbsp;object&nbsp;is&nbsp;required&nbsp;to&nbsp;have&nbsp;an&nbsp;`href`&nbsp;property.&nbsp;It&nbsp;may&nbsp;have&nbsp;all&nbsp;of
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                114&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`rel`&nbsp;|&nbsp;`mediaType`&nbsp;|&nbsp;`name`&nbsp;|&nbsp;`hreflang`&nbsp;|&nbsp;`height`&nbsp;|&nbsp;`width`&nbsp;|&nbsp;`preview`
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                115&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;but&nbsp;I&nbsp;*think*&nbsp;they&#x27;re&nbsp;all&nbsp;optional.&quot;
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                116&nbsp;&nbsp;&nbsp;&nbsp;[x]
                </span><br/>
<span class="not-covered" title="0 out of 2 forms covered">
                117&nbsp;&nbsp;&nbsp;&nbsp;(concat-non-empty
                </span><br/>
<span class="not-covered" title="0 out of 6 forms covered">
                118&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(object-reference-or-faults&nbsp;x&nbsp;&quot;Link&quot;&nbsp;:critical&nbsp;:expected-link)
                </span><br/>
<span class="not-covered" title="0 out of 2 forms covered">
                119&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(list
                </span><br/>
<span class="not-covered" title="0 out of 5 forms covered">
                120&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(uri-or-fault
                </span><br/>
<span class="not-covered" title="0 out of 3 forms covered">
                121&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(:href&nbsp;x)&nbsp;:must&nbsp;:no-href-uri&nbsp;:invalid-href-uri)
                </span><br/>
<span class="not-covered" title="0 out of 8 forms covered">
                122&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(string-or-fault&nbsp;(:mediaType&nbsp;x)&nbsp;:minor&nbsp;:no-media-type&nbsp;#&quot;\w+\&#x2F;[-+.\w]+&quot;)
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                123&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;;&nbsp;TODO:&nbsp;possibly&nbsp;more&nbsp;here.&nbsp;Audit&nbsp;against&nbsp;the&nbsp;specs
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                124&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)))
                </span><br/>
<span class="blank" title="0 out of 0 forms covered">
                125&nbsp;&nbsp;
                </span><br/>
<span class="covered" title="1 out of 1 forms covered">
                126&nbsp;&nbsp;(def&nbsp;^:const&nbsp;base-activity-required-properties
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                127&nbsp;&nbsp;&nbsp;&nbsp;&quot;Properties&nbsp;most&nbsp;activities&nbsp;should&nbsp;have.&nbsp;Values&nbsp;are&nbsp;validating&nbsp;functions,&nbsp;each.
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                128&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                129&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;See&nbsp;https:&#x2F;&#x2F;www.w3.org&#x2F;TR&#x2F;activitystreams-vocabulary&#x2F;#dfn-activity&quot;
                </span><br/>
<span class="partial" title="5 out of 11 forms covered">
                130&nbsp;&nbsp;&nbsp;&nbsp;{:summary&nbsp;(fn&nbsp;[v]&nbsp;(when-not&nbsp;(string?&nbsp;v)
                </span><br/>
<span class="not-covered" title="0 out of 6 forms covered">
                131&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(list&nbsp;(make-fault-object&nbsp;:should&nbsp;:no-summary))))
                </span><br/>
<span class="partial" title="1 out of 7 forms covered">
                132&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:actor&nbsp;(fn&nbsp;[v]&nbsp;(object-reference-or-faults&nbsp;v&nbsp;actor-types&nbsp;:must&nbsp;:no-actor))
                </span><br/>
<span class="partial" title="1 out of 7 forms covered">
                133&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:object&nbsp;(fn&nbsp;[v]&nbsp;(object-reference-or-faults&nbsp;v&nbsp;nil&nbsp;:must&nbsp;:no-object))})
                </span><br/>
<span class="blank" title="0 out of 0 forms covered">
                134&nbsp;&nbsp;
                </span><br/>
<span class="covered" title="1 out of 1 forms covered">
                135&nbsp;&nbsp;(def&nbsp;^:const&nbsp;intransitive-activity-required-properties
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                136&nbsp;&nbsp;&nbsp;&nbsp;&quot;Properties&nbsp;intransitive&nbsp;activities&nbsp;should&nbsp;have.
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                137&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                138&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;See&nbsp;https:&#x2F;&#x2F;www.w3.org&#x2F;TR&#x2F;activitystreams-vocabulary&#x2F;#dfn-intransitiveactivity&quot;
                </span><br/>
<span class="covered" title="4 out of 4 forms covered">
                139&nbsp;&nbsp;&nbsp;&nbsp;(dissoc&nbsp;base-activity-required-properties&nbsp;:object))
                </span><br/>
<span class="blank" title="0 out of 0 forms covered">
                140&nbsp;&nbsp;
                </span><br/>
<span class="covered" title="1 out of 1 forms covered">
                141&nbsp;&nbsp;(def&nbsp;^:const&nbsp;accept-required-properties
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                142&nbsp;&nbsp;&nbsp;&nbsp;&quot;As&nbsp;base-activity-required-properties,&nbsp;except&nbsp;that&nbsp;the&nbsp;type&nbsp;of&nbsp;the&nbsp;object
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                143&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;is&nbsp;restricted.&quot;
                </span><br/>
<span class="covered" title="4 out of 4 forms covered">
                144&nbsp;&nbsp;&nbsp;&nbsp;(assoc&nbsp;base-activity-required-properties
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                145&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:object
                </span><br/>
<span class="covered" title="1 out of 1 forms covered">
                146&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(fn&nbsp;[v]
                </span><br/>
<span class="not-covered" title="0 out of 8 forms covered">
                147&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(object-reference-or-faults&nbsp;v&nbsp;#{&quot;Invite&quot;&nbsp;&quot;Person&quot;}
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                148&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:must
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                149&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:bad-accept-target))))
                </span><br/>
<span class="blank" title="0 out of 0 forms covered">
                150&nbsp;&nbsp;
                </span><br/>
<span class="covered" title="1 out of 1 forms covered">
                151&nbsp;&nbsp;(def&nbsp;^:const&nbsp;activity-required-properties
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                152&nbsp;&nbsp;&nbsp;&nbsp;&quot;Properties&nbsp;activities&nbsp;should&nbsp;have,&nbsp;keyed&nbsp;by&nbsp;activity&nbsp;type.&nbsp;Values&nbsp;are&nbsp;maps&nbsp;
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                153&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;of&nbsp;the&nbsp;format&nbsp;of&nbsp;`base-activity-required-properties`,&nbsp;q.v.&quot;
                </span><br/>
<span class="covered" title="30 out of 30 forms covered">
                154&nbsp;&nbsp;&nbsp;&nbsp;{&quot;Accept&quot;&nbsp;accept-required-properties
                </span><br/>
<span class="covered" title="1 out of 1 forms covered">
                155&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;Add&quot;&nbsp;base-activity-required-properties
                </span><br/>
<span class="covered" title="1 out of 1 forms covered">
                156&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;Announce&quot;&nbsp;base-activity-required-properties
                </span><br/>
<span class="covered" title="1 out of 1 forms covered">
                157&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;Arrive&quot;&nbsp;intransitive-activity-required-properties
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                158&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;;&nbsp;TODO:&nbsp;is&nbsp;`:location`&nbsp;required&nbsp;for&nbsp;arrive?
                </span><br/>
<span class="covered" title="1 out of 1 forms covered">
                159&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;Block&quot;&nbsp;base-activity-required-properties
                </span><br/>
<span class="covered" title="1 out of 1 forms covered">
                160&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;Create&quot;&nbsp;base-activity-required-properties
                </span><br/>
<span class="covered" title="1 out of 1 forms covered">
                161&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;Delete&quot;&nbsp;base-activity-required-properties
                </span><br/>
<span class="covered" title="1 out of 1 forms covered">
                162&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;Dislike&quot;&nbsp;base-activity-required-properties
                </span><br/>
<span class="covered" title="1 out of 1 forms covered">
                163&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;Flag&quot;&nbsp;base-activity-required-properties
                </span><br/>
<span class="covered" title="1 out of 1 forms covered">
                164&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;Follow&quot;&nbsp;base-activity-required-properties
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                165&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;;&nbsp;TODO:&nbsp;is&nbsp;`:object`&nbsp;required&nbsp;to&nbsp;be&nbsp;an&nbsp;actor?
                </span><br/>
<span class="covered" title="1 out of 1 forms covered">
                166&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;Ignore&quot;&nbsp;base-activity-required-properties
                </span><br/>
<span class="covered" title="4 out of 4 forms covered">
                167&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;Invite&quot;&nbsp;(assoc&nbsp;base-activity-required-properties&nbsp;:target
                </span><br/>
<span class="covered" title="1 out of 1 forms covered">
                168&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(fn&nbsp;[v]
                </span><br/>
<span class="not-covered" title="0 out of 8 forms covered">
                169&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(coll-object-reference-or-fault&nbsp;v&nbsp;#{&quot;Event&quot;&nbsp;&quot;Group&quot;}
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                170&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:must
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                171&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:bad-accept-target)))
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                172&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;;&nbsp;TODO:&nbsp;are&nbsp;here&nbsp;other&nbsp;things&nbsp;one&nbsp;could&nbsp;meaningfully&nbsp;be&nbsp;invited&nbsp;to?
                </span><br/>
<span class="covered" title="1 out of 1 forms covered">
                173&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;Join&quot;&nbsp;base-activity-required-properties
                </span><br/>
<span class="covered" title="1 out of 1 forms covered">
                174&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;Leave&quot;&nbsp;base-activity-required-properties
                </span><br/>
<span class="covered" title="1 out of 1 forms covered">
                175&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;Like&quot;&nbsp;base-activity-required-properties
                </span><br/>
<span class="covered" title="1 out of 1 forms covered">
                176&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;Listen&quot;&nbsp;base-activity-required-properties
                </span><br/>
<span class="covered" title="1 out of 1 forms covered">
                177&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;Move&quot;&nbsp;base-activity-required-properties
                </span><br/>
<span class="covered" title="1 out of 1 forms covered">
                178&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;Offer&quot;&nbsp;base-activity-required-properties
                </span><br/>
<span class="covered" title="1 out of 1 forms covered">
                179&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;Question&quot;&nbsp;intransitive-activity-required-properties
                </span><br/>
<span class="covered" title="1 out of 1 forms covered">
                180&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;Reject&quot;&nbsp;base-activity-required-properties
                </span><br/>
<span class="covered" title="1 out of 1 forms covered">
                181&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;Read&quot;&nbsp;base-activity-required-properties
                </span><br/>
<span class="covered" title="1 out of 1 forms covered">
                182&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;Remove&quot;&nbsp;base-activity-required-properties
                </span><br/>
<span class="covered" title="1 out of 1 forms covered">
                183&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;TentativeReject&quot;&nbsp;base-activity-required-properties
                </span><br/>
<span class="covered" title="1 out of 1 forms covered">
                184&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;TentativeAccept&quot;&nbsp;accept-required-properties
                </span><br/>
<span class="covered" title="1 out of 1 forms covered">
                185&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;Travel&quot;&nbsp;base-activity-required-properties
                </span><br/>
<span class="covered" title="1 out of 1 forms covered">
                186&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;Undo&quot;&nbsp;base-activity-required-properties
                </span><br/>
<span class="covered" title="1 out of 1 forms covered">
                187&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;Update&quot;&nbsp;base-activity-required-properties
                </span><br/>
<span class="covered" title="1 out of 1 forms covered">
                188&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;View&quot;&nbsp;base-activity-required-properties})
                </span><br/>
<span class="blank" title="0 out of 0 forms covered">
                189&nbsp;&nbsp;
                </span><br/>
<span class="covered" title="1 out of 1 forms covered">
                190&nbsp;&nbsp;(defn&nbsp;activity-type-faults
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                191&nbsp;&nbsp;&nbsp;&nbsp;&quot;Return&nbsp;a&nbsp;list&nbsp;of&nbsp;faults&nbsp;found&nbsp;in&nbsp;the&nbsp;activity&nbsp;`x`;&nbsp;if&nbsp;`type`&nbsp;is&nbsp;also&nbsp;
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                192&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;specified,&nbsp;it&nbsp;should&nbsp;be&nbsp;a&nbsp;string&nbsp;naming&nbsp;a&nbsp;specific&nbsp;activity&nbsp;type&nbsp;for
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                193&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;which&nbsp;checks&nbsp;should&nbsp;be&nbsp;performed.
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                194&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                195&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Some&nbsp;specific&nbsp;activity&nbsp;types&nbsp;have&nbsp;specific&nbsp;requirements&nbsp;which&nbsp;are&nbsp;not
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                196&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;requirements.&quot;
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                197&nbsp;&nbsp;&nbsp;&nbsp;([x]
                </span><br/>
<span class="not-covered" title="0 out of 6 forms covered">
                198&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(if&nbsp;(coll?&nbsp;(:type&nbsp;x))
                </span><br/>
<span class="not-covered" title="0 out of 10 forms covered">
                199&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(map&nbsp;#(activity-type-faults&nbsp;x&nbsp;%)&nbsp;(:type&nbsp;x))
                </span><br/>
<span class="not-covered" title="0 out of 6 forms covered">
                200&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(activity-type-faults&nbsp;x&nbsp;(:type&nbsp;x))))
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                201&nbsp;&nbsp;&nbsp;&nbsp;([x&nbsp;type]
                </span><br/>
<span class="not-covered" title="0 out of 4 forms covered">
                202&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(let&nbsp;[checks&nbsp;(activity-required-properties&nbsp;type)]
                </span><br/>
<span class="not-covered" title="0 out of 3 forms covered">
                203&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(map
                </span><br/>
<span class="not-covered" title="0 out of 8 forms covered">
                204&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#(apply&nbsp;(checks&nbsp;%)&nbsp;(x&nbsp;%))
                </span><br/>
<span class="not-covered" title="0 out of 3 forms covered">
                205&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(keys&nbsp;checks)))))
                </span><br/>
<span class="blank" title="0 out of 0 forms covered">
                206&nbsp;&nbsp;
                </span><br/>
<span class="covered" title="1 out of 1 forms covered">
                207&nbsp;&nbsp;(defn&nbsp;activity-faults
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                208&nbsp;&nbsp;&nbsp;&nbsp;[x]
                </span><br/>
<span class="not-covered" title="0 out of 5 forms covered">
                209&nbsp;&nbsp;&nbsp;&nbsp;(concat-non-empty&nbsp;(persistent-object-faults&nbsp;x)
                </span><br/>
<span class="not-covered" title="0 out of 3 forms covered">
                210&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(activity-type-faults&nbsp;x)
                </span><br/>
<span class="not-covered" title="0 out of 2 forms covered">
                211&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(list
                </span><br/>
<span class="not-covered" title="0 out of 3 forms covered">
                212&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(when-not
                </span><br/>
<span class="not-covered" title="0 out of 3 forms covered">
                213&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(has-activity-type?&nbsp;x)
                </span><br/>
<span class="not-covered" title="0 out of 4 forms covered">
                214&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(make-fault-object&nbsp;:must&nbsp;:not-activity-type))
                </span><br/>
<span class="not-covered" title="0 out of 12 forms covered">
                215&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(when-not&nbsp;(string?&nbsp;(:summary&nbsp;x))&nbsp;(make-fault-object&nbsp;:should&nbsp;:no-summary)))))
                </span><br/>
<span class="blank" title="0 out of 0 forms covered">
                216&nbsp;&nbsp;
                </span><br/>
<span class="covered" title="1 out of 1 forms covered">
                217&nbsp;&nbsp;(defn&nbsp;collection-faults
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                218&nbsp;&nbsp;&nbsp;&nbsp;&quot;Return&nbsp;a&nbsp;list&nbsp;of&nbsp;faults&nbsp;found&nbsp;in&nbsp;the&nbsp;collection&nbsp;`x`;&nbsp;if&nbsp;`type`&nbsp;is&nbsp;also&nbsp;
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                219&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;specified,&nbsp;it&nbsp;should&nbsp;be&nbsp;a&nbsp;string&nbsp;naming&nbsp;a&nbsp;specific&nbsp;collection&nbsp;type&nbsp;for
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                220&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;which&nbsp;checks&nbsp;should&nbsp;be&nbsp;performed.&nbsp;
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                221&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                222&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Every&nbsp;collection&nbsp;*should*(?)&nbsp;have&nbsp;a&nbsp;`totalItems`&nbsp;field&nbsp;(an&nbsp;integer).
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                223&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                224&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Beyond&nbsp;that,&nbsp;collections&nbsp;are&nbsp;either&nbsp;&#x27;just&nbsp;collections&#x27;&nbsp;(in&nbsp;which&nbsp;case
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                225&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;they&nbsp;*should*&nbsp;have&nbsp;an&nbsp;`items`&nbsp;field&nbsp;(a&nbsp;sequence)),&nbsp;or&nbsp;else&nbsp;they&#x27;re&nbsp;paged
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                226&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;collections,&nbsp;in&nbsp;which&nbsp;case&nbsp;they&nbsp;*must*(?)&nbsp;have&nbsp;a&nbsp;`first`&nbsp;field&nbsp;which&nbsp;is&nbsp;
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                227&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a&nbsp;collection&nbsp;page&nbsp;or&nbsp;a&nbsp;URI&nbsp;pointing&nbsp;to&nbsp;a&nbsp;collection&nbsp;page,&nbsp;and&nbsp;*should*&nbsp;
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                228&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;have&nbsp;a&nbsp;`last`&nbsp;field&nbsp;which&nbsp;is&nbsp;similar.
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                229&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                230&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The&nbsp;pages&nbsp;of&nbsp;collections&nbsp;*should*&nbsp;be&nbsp;collection&nbsp;pages;&nbsp;the&nbsp;pages&nbsp;of&nbsp;
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                231&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ordered&nbsp;collections&nbsp;*should*&nbsp;be&nbsp;ordered&nbsp;collection&nbsp;pages.&quot;
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                232&nbsp;&nbsp;&nbsp;&nbsp;([x]
                </span><br/>
<span class="not-covered" title="0 out of 2 forms covered">
                233&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(collection-faults
                </span><br/>
<span class="not-covered" title="0 out of 1 forms covered">
                234&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;x
                </span><br/>
<span class="not-covered" title="0 out of 2 forms covered">
                235&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(first
                </span><br/>
<span class="not-covered" title="0 out of 3 forms covered">
                236&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(remove&nbsp;nil?
                </span><br/>
<span class="not-covered" title="0 out of 10 forms covered">
                237&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(map&nbsp;#(when&nbsp;(has-type?&nbsp;x&nbsp;%)&nbsp;%)
                </span><br/>
<span class="not-covered" title="0 out of 5 forms covered">
                238&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&quot;Collection&quot;
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                239&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;OrderedCollection&quot;
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                240&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;CollectionPage&quot;
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                241&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;OrderedCollectionPage&quot;])))))
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                242&nbsp;&nbsp;&nbsp;&nbsp;([x&nbsp;type]
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                243&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;;&nbsp;(log&#x2F;info&nbsp;&quot;collection-faults&nbsp;called&nbsp;with&nbsp;argumens&nbsp;&quot;&nbsp;x&nbsp;&quot;,&nbsp;&quot;&nbsp;type)
                </span><br/>
<span class="not-covered" title="0 out of 3 forms covered">
                244&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(case&nbsp;type
                </span><br/>
<span class="not-covered" title="0 out of 8 forms covered">
                245&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(&quot;Collection&quot;&nbsp;&quot;OrderedCollection&quot;)&nbsp;(any-or-faults
                </span><br/>
<span class="not-covered" title="0 out of 12 forms covered">
                246&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(list&nbsp;(simple-collection-faults&nbsp;x&nbsp;type)
                </span><br/>
<span class="not-covered" title="0 out of 8 forms covered">
                247&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(paged-collection-faults&nbsp;x&nbsp;type))
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                248&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:must
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                249&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:no-items)
                </span><br/>
<span class="not-covered" title="0 out of 8 forms covered">
                250&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(&quot;CollectionPage&quot;&nbsp;&quot;OrderedCollectionPage&quot;)&nbsp;(collection-page-faults&nbsp;x&nbsp;type)
                </span><br/>
<span class="not-covered" title="0 out of 6 forms covered">
                251&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(list&nbsp;(make-fault-object&nbsp;:critical&nbsp;:expected-collection)))))
                </span><br/>
 </body>
</html>