+}
+
+dots=$( find dot -mindepth 1 -maxdepth 1 -name '[0-9a-zA-Z]*[0-9a-zA-Z]' )
+
+for ours in $dots; do
+ underhome=".${ours#dot/}"
+ process_object
+done
+
+nondots=$( find home -mindepth 1 -maxdepth 1 -name '[0-9a-zA-Z]*[0-9a-zA-Z]' )
+
+for ours in $nondots; do
+ underhome="${ours#home/}"
+ process_object
+done
+
+exec 3<correspondences
+while read <&3 ours underhome; do
+ case "$ours" in
+ ''|'#'*) ;;
+ *)
+ case "$underhome" in
+ */*)
+ parent=${underhome%/*}
+ punderhome="$HOME/$parent"
+ prhome="~/${underhome%/*}"
+ if [ -d "$punderhome" ]; then
+ good "directory exists"
+ elif ! [ -e "$punderhome" ]; then
+ needs setup "directory does not exist"
+ $act mkdir -p "$punderhome"
+ else
+ bad "ought to be director but isn't"
+ fi
+ ;;
+ esac
+ process_object
+ ;;
+ esac