Comment tracing for cljs.

Comment tracing for cljs.

--- src/cljx/geschichte/meta.cljx
+++ src/cljx/geschichte/meta.cljx
@@ -1,11 +1,10 @@
-(ns geschichte.meta
+(ns ^:shared geschichte.meta
   "Operation on metadata and causal-order (directed acyclic graph) of a repository.

    Metadata repository-format for automatic server-side
    synching (p2p-web). Have a look at the midje-doc documentation for
    more information."
-  (:require [clojure.set :as set]
-            [clojure.tools.trace :refer [dotrace]]))
+  (:require [clojure.set :as set]))

 (defn track-returnpaths [returnpaths heads meta]
@@ -21,7 +20,7 @@
   (reduce #(assoc %1 %2 #{}) {} heads))

-(defn ^:dynamic lowest-common-ancestors
+(defn lowest-common-ancestors
   "Naive online BFS implementation. Assumes no cycles exist."
   ([meta-a heads-a meta-b heads-b]
      (let [returnpaths-a (init-returnpath heads-a)
@@ -125,311 +124,311 @@
       (assoc new-meta :causal-order new-causal)
       new-meta)))

-
-#_{#uuid "84473475-2c87-470e-8774-9de66e665812" :meta}
- (def problem-meta
-{:causal-order {#uuid "2c24a78d-e400-5368-b610-ab8b06115fce"
-                   [#uuid "059630dd-7a03-5ea6-9ca5-348620c8e29f" #uuid "3e61855b-5b71-5956-88da-9cb86cc06218" #uuid "059630dd-7a03-5ea6-9ca5-348620c8e29f" #uuid "3e61855b-5b71-5956-88da-9cb86cc06218"],
-                   #uuid "3931512d-9956-55bf-9a32-2a052f26a177"
-                   [#uuid "1ccd2e84-60fb-587d-9593-236a49240c0c"],
-                   #uuid "2a86f198-7dfe-51c7-b6b8-bf90cddd83ee"
-                   [#uuid "0b577171-086e-53f6-9262-7e851ee8fd7e"],
-                   #uuid "21673d4d-338b-5d8a-bf8f-551e8fc67518"
-                   [#uuid "2e48f297-de26-52e3-9a8a-5e423ef1a492" #uuid "23f3a206-5035-5d07-9b35-a083afe9ec34" #uuid "2e48f297-de26-52e3-9a8a-5e423ef1a492" #uuid "23f3a206-5035-5d07-9b35-a083afe9ec34"],
-                   #uuid "11387177-601c-5ded-98b5-99691cc5b512"
-                   [#uuid "1d5eadfb-050f-5674-850e-eeee9c9e88fa" #uuid "23f3a206-5035-5d07-9b35-a083afe9ec34" #uuid "1d5eadfb-050f-5674-850e-eeee9c9e88fa" #uuid "23f3a206-5035-5d07-9b35-a083afe9ec34"],
-                   #uuid "35299639-cd40-5c9a-936e-9965ffc991c7"
-                   [#uuid "2ed6f194-f62d-5393-8a09-c41b96a53df3" #uuid "0fe1df74-facf-5759-8725-a7109b199b9a" #uuid "2ed6f194-f62d-5393-8a09-c41b96a53df3" #uuid "0fe1df74-facf-5759-8725-a7109b199b9a"],
-                   #uuid "045e8240-6df3-531a-b390-c9238dc6cc7b"
-                   [#uuid "3b12846b-48a3-5169-b369-61ac96b9425e"],
-                   #uuid "059630dd-7a03-5ea6-9ca5-348620c8e29f"
-                   [#uuid "3d5e0ad3-8f90-592a-ade8-b2a8352511a6" #uuid "1a98e86d-98c9-572e-a6e3-ea32e8b0f94f" #uuid "3d5e0ad3-8f90-592a-ade8-b2a8352511a6" #uuid "1a98e86d-98c9-572e-a6e3-ea32e8b0f94f"],
-                   #uuid "0ae0e29e-ad26-5b2a-abc1-92d0cd3eb7c6"
-                   [#uuid "38064367-fa19-50e9-998d-a81b358ca086"],
-                   #uuid "04e824f2-d7f6-5399-89f1-8ff6438c0d3f"
-                   [#uuid "3bdf5912-0b1f-5b75-87d5-fe4e2a98a81b"],
-                   #uuid "27ddb3dd-b768-5c49-878a-09979c4e9d61"
-                   [#uuid "02f0b98b-cc8d-5f33-98f9-3875666bb445"],
-                   #uuid "03721b99-e947-5789-98e2-0e6302941df1"
-                   [#uuid "02f6a2bb-cfd3-55a6-b00a-799dd395bd42"],
-                   #uuid "02f6a2bb-cfd3-55a6-b00a-799dd395bd42"
-                   [#uuid "280ae09e-999d-5265-95d9-8537fb4a60c9" #uuid "29d3bd89-4410-5ce5-9648-e493e8f38e39" #uuid "280ae09e-999d-5265-95d9-8537fb4a60c9" #uuid "29d3bd89-4410-5ce5-9648-e493e8f38e39"],
-                   #uuid "16ee1c8e-f8f3-503a-b12b-1f551f391de2"
-                   [#uuid "23f3a206-5035-5d07-9b35-a083afe9ec34" #uuid "0f800e2d-b036-520a-8657-eccfaaacc9ef" #uuid "23f3a206-5035-5d07-9b35-a083afe9ec34" #uuid "0f800e2d-b036-520a-8657-eccfaaacc9ef"],
-                   #uuid "2e48f297-de26-52e3-9a8a-5e423ef1a492"
-                   [#uuid "01677820-90f5-5e0b-acbc-100932a22f05" #uuid "1d5eadfb-050f-5674-850e-eeee9c9e88fa" #uuid "01677820-90f5-5e0b-acbc-100932a22f05" #uuid "1d5eadfb-050f-5674-850e-eeee9c9e88fa"],
-                   #uuid "1510e9fd-aacd-55c7-941d-4d9130e0214e"
-                   [#uuid "2127466a-503f-5a30-97f0-d094111b73cb" #uuid "33547f1b-2480-508d-be34-63da3e1a6704" #uuid "2127466a-503f-5a30-97f0-d094111b73cb" #uuid "33547f1b-2480-508d-be34-63da3e1a6704"],
-                   #uuid "2127466a-503f-5a30-97f0-d094111b73cb"
-                   [#uuid "25f58a38-aa9d-5199-997b-b1c045af7059" #uuid "2ed6f194-f62d-5393-8a09-c41b96a53df3" #uuid "25f58a38-aa9d-5199-997b-b1c045af7059" #uuid "2ed6f194-f62d-5393-8a09-c41b96a53df3"],
-                   #uuid "280ae09e-999d-5265-95d9-8537fb4a60c9" [#uuid "3931512d-9956-55bf-9a32-2a052f26a177"],
-                   #uuid "0b01f05c-b032-564c-ae61-662fbda0f419" [#uuid "090d9643-a944-5572-88f3-0eb7e3b1a314"],
-                   #uuid "29d3bd89-4410-5ce5-9648-e493e8f38e39" [#uuid "3931512d-9956-55bf-9a32-2a052f26a177"],
-                   #uuid "0fe1df74-facf-5759-8725-a7109b199b9a" [#uuid "2d9a21e3-6044-57da-87f7-b2826b17ba16"],
-                   #uuid "0f800e2d-b036-520a-8657-eccfaaacc9ef" [#uuid "0b577171-086e-53f6-9262-7e851ee8fd7e"],
-                   #uuid "01677820-90f5-5e0b-acbc-100932a22f05"
-                   [#uuid "163ba81e-eb0e-5903-a244-da11d2230020" #uuid "11dff09b-b3e2-5a44-ba13-30faf10e6a3c" #uuid "163ba81e-eb0e-5903-a244-da11d2230020" #uuid "11dff09b-b3e2-5a44-ba13-30faf10e6a3c"],
-                   #uuid "1e424294-bb25-5901-9782-8cf39b81bf4e"
-                   [#uuid "19dc948d-f78d-5e15-b389-4909ee20e3c1" #uuid "1a98e86d-98c9-572e-a6e3-ea32e8b0f94f" #uuid "19dc948d-f78d-5e15-b389-4909ee20e3c1" #uuid "1a98e86d-98c9-572e-a6e3-ea32e8b0f94f"],
-                   #uuid "27c6f1f5-f4de-5656-985e-1015baf59dbe" [#uuid "03a411e2-e097-516e-8c57-bba3b5b18851"],
-                   #uuid "02f0b98b-cc8d-5f33-98f9-3875666bb445" [#uuid "18aa9745-a39c-5e90-8ead-7cedb716c3eb"],
-                   #uuid "33547f1b-2480-508d-be34-63da3e1a6704"
-                   [#uuid "2aa5bf30-49c7-5157-81e8-c3158fe7410f" #uuid "2ed6f194-f62d-5393-8a09-c41b96a53df3" #uuid "2aa5bf30-49c7-5157-81e8-c3158fe7410f" #uuid "2ed6f194-f62d-5393-8a09-c41b96a53df3"],
-                   #uuid "3415ac38-98c7-5348-ba8d-427ec4461de7" [#uuid "14c9da43-a2cb-5112-8d21-d777da2189f4"],
-                   #uuid "071d505d-b198-5ed2-9417-9901737e4167" [#uuid "21b919d6-0e42-5eca-b42e-89cafe1764eb"],
-                   #uuid "3c65cb46-a053-56c8-a4b2-54c13e0389e5"
-                   [#uuid "20ebcafe-8544-5ed5-a58f-e8c5815b6fb9" #uuid "35299639-cd40-5c9a-936e-9965ffc991c7" #uuid "20ebcafe-8544-5ed5-a58f-e8c5815b6fb9" #uuid "35299639-cd40-5c9a-936e-9965ffc991c7"],
-                   #uuid "13534528-4d77-559e-98b7-ecfa442f5d86"
-                   [#uuid "07aa256c-bf28-58ff-84de-0c7a0ba98557" #uuid "1ff4c5fc-7f82-5f6b-8db1-9811650cb6bd" #uuid "07aa256c-bf28-58ff-84de-0c7a0ba98557" #uuid "1ff4c5fc-7f82-5f6b-8db1-9811650cb6bd"],
-                   #uuid "1e498232-d77c-534e-988a-b766ede1e236"
-                   [#uuid "267044b2-7efa-50e0-bab6-f667ce5e5058" #uuid "35299639-cd40-5c9a-936e-9965ffc991c7" #uuid "267044b2-7efa-50e0-bab6-f667ce5e5058" #uuid "35299639-cd40-5c9a-936e-9965ffc991c7"],
-                   #uuid "2941cf92-3650-54a2-bb63-07186dc61844" [#uuid "0b01f05c-b032-564c-ae61-662fbda0f419"],
-                   #uuid "3bc4c33a-6df4-54cf-a12b-38c8a950d571"
-                   [#uuid "1a1261d9-64ac-5ee8-b91d-c6d6f96c19bc" #uuid "01677820-90f5-5e0b-acbc-100932a22f05" #uuid "1a1261d9-64ac-5ee8-b91d-c6d6f96c19bc" #uuid "01677820-90f5-5e0b-acbc-100932a22f05"],
-                   #uuid "163ba81e-eb0e-5903-a244-da11d2230020"
-                   [#uuid "2c24a78d-e400-5368-b610-ab8b06115fce" #uuid "10418a82-fec8-57bb-b57f-65a26a8e0ff5" #uuid "2c24a78d-e400-5368-b610-ab8b06115fce" #uuid "10418a82-fec8-57bb-b57f-65a26a8e0ff5"],
-                   #uuid "267044b2-7efa-50e0-bab6-f667ce5e5058"
-                   [#uuid "33547f1b-2480-508d-be34-63da3e1a6704" #uuid "0fe1df74-facf-5759-8725-a7109b199b9a" #uuid "33547f1b-2480-508d-be34-63da3e1a6704" #uuid "0fe1df74-facf-5759-8725-a7109b199b9a"],
-                   #uuid "2835a623-4e30-5668-860b-3f001783d5c6" [#uuid "2a86f198-7dfe-51c7-b6b8-bf90cddd83ee"],
-                   #uuid "3e61855b-5b71-5956-88da-9cb86cc06218" [#uuid "2941cf92-3650-54a2-bb63-07186dc61844"],
-                   #uuid "2d9a21e3-6044-57da-87f7-b2826b17ba16" [#uuid "2835a623-4e30-5668-860b-3f001783d5c6"],
-                   #uuid "013d990f-8a4b-560b-b396-2ac970834ac0"
-                   [#uuid "142d78d3-e2b7-5926-8b53-c26919ab2466" #uuid "163ba81e-eb0e-5903-a244-da11d2230020" #uuid "142d78d3-e2b7-5926-8b53-c26919ab2466" #uuid "163ba81e-eb0e-5903-a244-da11d2230020"],
-                   #uuid "3b60573a-9a49-52a6-9176-6bc7bc1246f5" [#uuid "0ae0e29e-ad26-5b2a-abc1-92d0cd3eb7c6"],
-                   #uuid "10418a82-fec8-57bb-b57f-65a26a8e0ff5"
-                   [#uuid "1a98e86d-98c9-572e-a6e3-ea32e8b0f94f" #uuid "3e61855b-5b71-5956-88da-9cb86cc06218" #uuid "1a98e86d-98c9-572e-a6e3-ea32e8b0f94f" #uuid "3e61855b-5b71-5956-88da-9cb86cc06218"],
-                   #uuid "2adc74af-0537-5ba6-ab82-d50f519e7869" [#uuid "0a7b6be1-6aa5-519e-8001-1a5c1b92c717"],
-                   #uuid "2ed6f194-f62d-5393-8a09-c41b96a53df3"
-                   [#uuid "16ee1c8e-f8f3-503a-b12b-1f551f391de2" #uuid "2fdbb1a8-dc89-59aa-8466-e93ccdf9dae0" #uuid "16ee1c8e-f8f3-503a-b12b-1f551f391de2" #uuid "2fdbb1a8-dc89-59aa-8466-e93ccdf9dae0"],
-                   #uuid "19dc948d-f78d-5e15-b389-4909ee20e3c1"
-                   [#uuid "21d61fa0-7343-5103-ba28-df2c74d8521f" #uuid "3d5e0ad3-8f90-592a-ade8-b2a8352511a6" #uuid "21d61fa0-7343-5103-ba28-df2c74d8521f" #uuid "3d5e0ad3-8f90-592a-ade8-b2a8352511a6"],
-                   #uuid "3b12846b-48a3-5169-b369-61ac96b9425e" [#uuid "03ee12e5-52c2-5f92-bf10-eb9744c5f8d4"],
-                   #uuid "21d61fa0-7343-5103-ba28-df2c74d8521f"
-                   [#uuid "08238078-0dbf-5391-aa50-d7f5435d96e7" #uuid "2941cf92-3650-54a2-bb63-07186dc61844" #uuid "08238078-0dbf-5391-aa50-d7f5435d96e7" #uuid "2941cf92-3650-54a2-bb63-07186dc61844"],
-                   #uuid "3bdf5912-0b1f-5b75-87d5-fe4e2a98a81b" [#uuid "3fb9529d-6142-5bd5-a915-af91d6748f24"],
-                   #uuid "14c9da43-a2cb-5112-8d21-d777da2189f4" [#uuid "2adc74af-0537-5ba6-ab82-d50f519e7869"],
-                   #uuid "090d9643-a944-5572-88f3-0eb7e3b1a314" [#uuid "0fe1df74-facf-5759-8725-a7109b199b9a"],
-                   #uuid "18aa9745-a39c-5e90-8ead-7cedb716c3eb" [#uuid "27c6f1f5-f4de-5656-985e-1015baf59dbe"],
-                   #uuid "38064367-fa19-50e9-998d-a81b358ca086" [#uuid "22cc5272-aa31-595c-b6c9-aa03a37b1bd4"],
-                   #uuid "03ee12e5-52c2-5f92-bf10-eb9744c5f8d4" [#uuid "3890cfed-b083-52a7-960d-6cd02d74a26f"],
-                   #uuid "0a7b6be1-6aa5-519e-8001-1a5c1b92c717" [#uuid "144f2ee9-010d-5c7d-9a72-03d893900dfb"],
-                   #uuid "16ae7995-f3b7-529b-a8a7-b0a7bc51c8fd"
-                   [#uuid "13534528-4d77-559e-98b7-ecfa442f5d86" #uuid "067d5fe8-0089-5813-95db-14e0c2035424" #uuid "13534528-4d77-559e-98b7-ecfa442f5d86" #uuid "067d5fe8-0089-5813-95db-14e0c2035424"],
-                   #uuid "261b4031-5bb9-53ba-b1cf-a87d45bcaa83"
-                   [#uuid "1510e9fd-aacd-55c7-941d-4d9130e0214e" #uuid "0fe1df74-facf-5759-8725-a7109b199b9a" #uuid "1510e9fd-aacd-55c7-941d-4d9130e0214e" #uuid "0fe1df74-facf-5759-8725-a7109b199b9a"],
-                   #uuid "2dea9164-4057-542e-80ea-4159eab94b26"
-                   [#uuid "21673d4d-338b-5d8a-bf8f-551e8fc67518" #uuid "11387177-601c-5ded-98b5-99691cc5b512" #uuid "21673d4d-338b-5d8a-bf8f-551e8fc67518" #uuid "11387177-601c-5ded-98b5-99691cc5b512"],
-                   #uuid "3890cfed-b083-52a7-960d-6cd02d74a26f" [#uuid "169ecefc-a5db-5058-a5f4-bc34c719c749"],
-                   #uuid "2307205d-51d2-59b3-a90a-5867b950d9ff" [#uuid "314edcd9-4db8-5cbb-8247-ad96c495fac9"],
-                   #uuid "23f3a206-5035-5d07-9b35-a083afe9ec34" [#uuid "11dff09b-b3e2-5a44-ba13-30faf10e6a3c"],
-                   #uuid "144f2ee9-010d-5c7d-9a72-03d893900dfb" [#uuid "03721b99-e947-5789-98e2-0e6302941df1"],
-                   #uuid "3d5e0ad3-8f90-592a-ade8-b2a8352511a6"
-                   [#uuid "3c76478b-f003-5cf9-ad19-6136ee099759" #uuid "2941cf92-3650-54a2-bb63-07186dc61844" #uuid "3c76478b-f003-5cf9-ad19-6136ee099759" #uuid "2941cf92-3650-54a2-bb63-07186dc61844"],
-                   #uuid "0946b409-1e9d-5367-b3ea-9606af6bf7df"
-                   [#uuid "2dea9164-4057-542e-80ea-4159eab94b26" #uuid "16ee1c8e-f8f3-503a-b12b-1f551f391de2" #uuid "2dea9164-4057-542e-80ea-4159eab94b26" #uuid "16ee1c8e-f8f3-503a-b12b-1f551f391de2"],
-                   #uuid "20ebcafe-8544-5ed5-a58f-e8c5815b6fb9"
-                   [#uuid "261b4031-5bb9-53ba-b1cf-a87d45bcaa83" #uuid "267044b2-7efa-50e0-bab6-f667ce5e5058" #uuid "261b4031-5bb9-53ba-b1cf-a87d45bcaa83" #uuid "267044b2-7efa-50e0-bab6-f667ce5e5058"],
-                   #uuid "1af5f37a-1170-526e-b6aa-73406718c72c"
-                   [#uuid "1e424294-bb25-5901-9782-8cf39b81bf4e" #uuid "059630dd-7a03-5ea6-9ca5-348620c8e29f" #uuid "1e424294-bb25-5901-9782-8cf39b81bf4e" #uuid "059630dd-7a03-5ea6-9ca5-348620c8e29f"],
-                   #uuid "25f58a38-aa9d-5199-997b-b1c045af7059"
-                   [#uuid "0946b409-1e9d-5367-b3ea-9606af6bf7df" #uuid "2aa5bf30-49c7-5157-81e8-c3158fe7410f" #uuid "0946b409-1e9d-5367-b3ea-9606af6bf7df" #uuid "2aa5bf30-49c7-5157-81e8-c3158fe7410f"],
-                   #uuid "11dff09b-b3e2-5a44-ba13-30faf10e6a3c" [#uuid "3e61855b-5b71-5956-88da-9cb86cc06218"],
-                   #uuid "2fc13656-c13e-5388-87fb-d59b54b4d4fc"
-                   [#uuid "3c65cb46-a053-56c8-a4b2-54c13e0389e5" #uuid "1e498232-d77c-534e-988a-b766ede1e236" #uuid "3c65cb46-a053-56c8-a4b2-54c13e0389e5" #uuid "1e498232-d77c-534e-988a-b766ede1e236"],
-                   #uuid "169ecefc-a5db-5058-a5f4-bc34c719c749" [],
-                   #uuid "22cc5272-aa31-595c-b6c9-aa03a37b1bd4" [#uuid "1363f3ff-a092-5936-a7f3-edea64b960b9"],
-                   #uuid "1363f3ff-a092-5936-a7f3-edea64b960b9" [#uuid "27ddb3dd-b768-5c49-878a-09979c4e9d61"],
-                   #uuid "142d78d3-e2b7-5926-8b53-c26919ab2466"
-                   [#uuid "02ee492f-32cb-5c74-abff-028fa8a4f129" #uuid "10418a82-fec8-57bb-b57f-65a26a8e0ff5" #uuid "02ee492f-32cb-5c74-abff-028fa8a4f129" #uuid "10418a82-fec8-57bb-b57f-65a26a8e0ff5"],
-                   #uuid "1ff4c5fc-7f82-5f6b-8db1-9811650cb6bd"
-                   [#uuid "1e498232-d77c-534e-988a-b766ede1e236" #uuid "090d9643-a944-5572-88f3-0eb7e3b1a314" #uuid "1e498232-d77c-534e-988a-b766ede1e236" #uuid "090d9643-a944-5572-88f3-0eb7e3b1a314"],
-                   #uuid "1a1261d9-64ac-5ee8-b91d-c6d6f96c19bc"
-                   [#uuid "013d990f-8a4b-560b-b396-2ac970834ac0" #uuid "11dff09b-b3e2-5a44-ba13-30faf10e6a3c" #uuid "013d990f-8a4b-560b-b396-2ac970834ac0" #uuid "11dff09b-b3e2-5a44-ba13-30faf10e6a3c"],
-                   #uuid "1d5eadfb-050f-5674-850e-eeee9c9e88fa"
-                   [#uuid "10418a82-fec8-57bb-b57f-65a26a8e0ff5" #uuid "11dff09b-b3e2-5a44-ba13-30faf10e6a3c" #uuid "10418a82-fec8-57bb-b57f-65a26a8e0ff5" #uuid "11dff09b-b3e2-5a44-ba13-30faf10e6a3c"],
-                   #uuid "08238078-0dbf-5391-aa50-d7f5435d96e7"
-                   [#uuid "16ae7995-f3b7-529b-a8a7-b0a7bc51c8fd" #uuid "3c76478b-f003-5cf9-ad19-6136ee099759" #uuid "16ae7995-f3b7-529b-a8a7-b0a7bc51c8fd" #uuid "3c76478b-f003-5cf9-ad19-6136ee099759"],
-                   #uuid "0b577171-086e-53f6-9262-7e851ee8fd7e"
-                   [#uuid "3b60573a-9a49-52a6-9176-6bc7bc1246f5"],
-                   #uuid "2aa5bf30-49c7-5157-81e8-c3158fe7410f"
-                   [#uuid "11387177-601c-5ded-98b5-99691cc5b512" #uuid "16ee1c8e-f8f3-503a-b12b-1f551f391de2" #uuid "11387177-601c-5ded-98b5-99691cc5b512" #uuid "16ee1c8e-f8f3-503a-b12b-1f551f391de2"],
-                   #uuid "3c76478b-f003-5cf9-ad19-6136ee099759"
-                   [#uuid "1ff4c5fc-7f82-5f6b-8db1-9811650cb6bd" #uuid "067d5fe8-0089-5813-95db-14e0c2035424" #uuid "1ff4c5fc-7f82-5f6b-8db1-9811650cb6bd" #uuid "067d5fe8-0089-5813-95db-14e0c2035424"],
-                   #uuid "3fb9529d-6142-5bd5-a915-af91d6748f24" [#uuid "045e8240-6df3-531a-b390-c9238dc6cc7b"],
-                   #uuid "21b919d6-0e42-5eca-b42e-89cafe1764eb" [#uuid "2fdbb1a8-dc89-59aa-8466-e93ccdf9dae0"],
-                   #uuid "02ee492f-32cb-5c74-abff-028fa8a4f129"
-                   [#uuid "2f3c2b3b-1377-54af-b7ab-ab511223e8fb" #uuid "2c24a78d-e400-5368-b610-ab8b06115fce" #uuid "2f3c2b3b-1377-54af-b7ab-ab511223e8fb" #uuid "2c24a78d-e400-5368-b610-ab8b06115fce"],
-                   #uuid "314edcd9-4db8-5cbb-8247-ad96c495fac9" [#uuid "3415ac38-98c7-5348-ba8d-427ec4461de7"],
-                   #uuid "1a98e86d-98c9-572e-a6e3-ea32e8b0f94f"
-                   [#uuid "067d5fe8-0089-5813-95db-14e0c2035424" #uuid "2941cf92-3650-54a2-bb63-07186dc61844" #uuid "067d5fe8-0089-5813-95db-14e0c2035424" #uuid "2941cf92-3650-54a2-bb63-07186dc61844"],
-                   #uuid "2f3c2b3b-1377-54af-b7ab-ab511223e8fb"
-                   [#uuid "1af5f37a-1170-526e-b6aa-73406718c72c" #uuid "3e61855b-5b71-5956-88da-9cb86cc06218" #uuid "1af5f37a-1170-526e-b6aa-73406718c72c" #uuid "3e61855b-5b71-5956-88da-9cb86cc06218"],
-                   #uuid "07aa256c-bf28-58ff-84de-0c7a0ba98557"
-                   [#uuid "2fc13656-c13e-5388-87fb-d59b54b4d4fc" #uuid "090d9643-a944-5572-88f3-0eb7e3b1a314" #uuid "2fc13656-c13e-5388-87fb-d59b54b4d4fc" #uuid "090d9643-a944-5572-88f3-0eb7e3b1a314"],
-                   #uuid "03a411e2-e097-516e-8c57-bba3b5b18851" [#uuid "344cadf4-366d-5115-8cdd-be8b854b48b5"],
-                   #uuid "2fdbb1a8-dc89-59aa-8466-e93ccdf9dae0" [#uuid "0f800e2d-b036-520a-8657-eccfaaacc9ef"],
-                   #uuid "1ccd2e84-60fb-587d-9593-236a49240c0c" [#uuid "04e824f2-d7f6-5399-89f1-8ff6438c0d3f"],
-                   #uuid "344cadf4-366d-5115-8cdd-be8b854b48b5" [#uuid "2307205d-51d2-59b3-a90a-5867b950d9ff"],
-                   #uuid "067d5fe8-0089-5813-95db-14e0c2035424"
-                   [#uuid "071d505d-b198-5ed2-9417-9901737e4167" #uuid "090d9643-a944-5572-88f3-0eb7e3b1a314" #uuid "35299639-cd40-5c9a-936e-9965ffc991c7" #uuid "071d505d-b198-5ed2-9417-9901737e4167" #uuid "090d9643-a944-5572-88f3-0eb7e3b1a314" #uuid "35299639-cd40-5c9a-936e-9965ffc991c7"]},
-    :last-update #inst "2014-04-09T22:23:23.179-00:00",
-    :id #uuid "84473475-2c87-470e-8774-9de66e665812",
-    :description "A bookmark app.",
-    :schema {:type "http://github.com/ghubber/geschichte", :version 1},
-    :head "master",
-    :branches {"master" {:heads #{#uuid "1510e9fd-aacd-55c7-941d-4d9130e0214e" #uuid "3bc4c33a-6df4-54cf-a12b-38c8a950d571"}}},
-    :public true,
-    :pull-requests {}})
-#_(dotrace [lowest-common-ancestors] (update problem-meta problem-meta))
-#_(= (update problem-meta {:causal-order {#uuid "2c24a78d-e400-5368-b610-ab8b06115fce"
-                   [#uuid "059630dd-7a03-5ea6-9ca5-348620c8e29f" #uuid "3e61855b-5b71-5956-88da-9cb86cc06218" #uuid "059630dd-7a03-5ea6-9ca5-348620c8e29f" #uuid "3e61855b-5b71-5956-88da-9cb86cc06218"],
-                   #uuid "3931512d-9956-55bf-9a32-2a052f26a177"
-                   [#uuid "1ccd2e84-60fb-587d-9593-236a49240c0c"],
-                   #uuid "2a86f198-7dfe-51c7-b6b8-bf90cddd83ee"
-                   [#uuid "0b577171-086e-53f6-9262-7e851ee8fd7e"],
-                   #uuid "21673d4d-338b-5d8a-bf8f-551e8fc67518"
-                   [#uuid "2e48f297-de26-52e3-9a8a-5e423ef1a492" #uuid "23f3a206-5035-5d07-9b35-a083afe9ec34" #uuid "2e48f297-de26-52e3-9a8a-5e423ef1a492" #uuid "23f3a206-5035-5d07-9b35-a083afe9ec34"],
-                   #uuid "11387177-601c-5ded-98b5-99691cc5b512"
-                   [#uuid "1d5eadfb-050f-5674-850e-eeee9c9e88fa" #uuid "23f3a206-5035-5d07-9b35-a083afe9ec34" #uuid "1d5eadfb-050f-5674-850e-eeee9c9e88fa" #uuid "23f3a206-5035-5d07-9b35-a083afe9ec34"],
-                   #uuid "35299639-cd40-5c9a-936e-9965ffc991c7"
-                   [#uuid "2ed6f194-f62d-5393-8a09-c41b96a53df3" #uuid "0fe1df74-facf-5759-8725-a7109b199b9a" #uuid "2ed6f194-f62d-5393-8a09-c41b96a53df3" #uuid "0fe1df74-facf-5759-8725-a7109b199b9a"],
-                   #uuid "045e8240-6df3-531a-b390-c9238dc6cc7b"
-                   [#uuid "3b12846b-48a3-5169-b369-61ac96b9425e"],
-                   #uuid "059630dd-7a03-5ea6-9ca5-348620c8e29f"
-                   [#uuid "3d5e0ad3-8f90-592a-ade8-b2a8352511a6" #uuid "1a98e86d-98c9-572e-a6e3-ea32e8b0f94f" #uuid "3d5e0ad3-8f90-592a-ade8-b2a8352511a6" #uuid "1a98e86d-98c9-572e-a6e3-ea32e8b0f94f"],
-                   #uuid "0ae0e29e-ad26-5b2a-abc1-92d0cd3eb7c6"
-                   [#uuid "38064367-fa19-50e9-998d-a81b358ca086"],
-                   #uuid "04e824f2-d7f6-5399-89f1-8ff6438c0d3f"
-                   [#uuid "3bdf5912-0b1f-5b75-87d5-fe4e2a98a81b"],
-                   #uuid "27ddb3dd-b768-5c49-878a-09979c4e9d61"
-                   [#uuid "02f0b98b-cc8d-5f33-98f9-3875666bb445"],
-                   #uuid "03721b99-e947-5789-98e2-0e6302941df1"
-                   [#uuid "02f6a2bb-cfd3-55a6-b00a-799dd395bd42"],
-                   #uuid "02f6a2bb-cfd3-55a6-b00a-799dd395bd42"
-                   [#uuid "280ae09e-999d-5265-95d9-8537fb4a60c9" #uuid "29d3bd89-4410-5ce5-9648-e493e8f38e39" #uuid "280ae09e-999d-5265-95d9-8537fb4a60c9" #uuid "29d3bd89-4410-5ce5-9648-e493e8f38e39"],
-                   #uuid "16ee1c8e-f8f3-503a-b12b-1f551f391de2"
-                   [#uuid "23f3a206-5035-5d07-9b35-a083afe9ec34" #uuid "0f800e2d-b036-520a-8657-eccfaaacc9ef" #uuid "23f3a206-5035-5d07-9b35-a083afe9ec34" #uuid "0f800e2d-b036-520a-8657-eccfaaacc9ef"],
-                   #uuid "2e48f297-de26-52e3-9a8a-5e423ef1a492"
-                   [#uuid "01677820-90f5-5e0b-acbc-100932a22f05" #uuid "1d5eadfb-050f-5674-850e-eeee9c9e88fa" #uuid "01677820-90f5-5e0b-acbc-100932a22f05" #uuid "1d5eadfb-050f-5674-850e-eeee9c9e88fa"],
-                   #uuid "1510e9fd-aacd-55c7-941d-4d9130e0214e"
-                   [#uuid "2127466a-503f-5a30-97f0-d094111b73cb" #uuid "33547f1b-2480-508d-be34-63da3e1a6704" #uuid "2127466a-503f-5a30-97f0-d094111b73cb" #uuid "33547f1b-2480-508d-be34-63da3e1a6704"],
-                   #uuid "2127466a-503f-5a30-97f0-d094111b73cb"
-                   [#uuid "25f58a38-aa9d-5199-997b-b1c045af7059" #uuid "2ed6f194-f62d-5393-8a09-c41b96a53df3" #uuid "25f58a38-aa9d-5199-997b-b1c045af7059" #uuid "2ed6f194-f62d-5393-8a09-c41b96a53df3"],
-                   #uuid "280ae09e-999d-5265-95d9-8537fb4a60c9" [#uuid "3931512d-9956-55bf-9a32-2a052f26a177"],
-                   #uuid "0b01f05c-b032-564c-ae61-662fbda0f419" [#uuid "090d9643-a944-5572-88f3-0eb7e3b1a314"],
-                   #uuid "29d3bd89-4410-5ce5-9648-e493e8f38e39" [#uuid "3931512d-9956-55bf-9a32-2a052f26a177"],
-                   #uuid "0fe1df74-facf-5759-8725-a7109b199b9a" [#uuid "2d9a21e3-6044-57da-87f7-b2826b17ba16"],
-                   #uuid "0f800e2d-b036-520a-8657-eccfaaacc9ef" [#uuid "0b577171-086e-53f6-9262-7e851ee8fd7e"],
-                   #uuid "01677820-90f5-5e0b-acbc-100932a22f05"
-                   [#uuid "163ba81e-eb0e-5903-a244-da11d2230020" #uuid "11dff09b-b3e2-5a44-ba13-30faf10e6a3c" #uuid "163ba81e-eb0e-5903-a244-da11d2230020" #uuid "11dff09b-b3e2-5a44-ba13-30faf10e6a3c"],
-                   #uuid "1e424294-bb25-5901-9782-8cf39b81bf4e"
-                   [#uuid "19dc948d-f78d-5e15-b389-4909ee20e3c1" #uuid "1a98e86d-98c9-572e-a6e3-ea32e8b0f94f" #uuid "19dc948d-f78d-5e15-b389-4909ee20e3c1" #uuid "1a98e86d-98c9-572e-a6e3-ea32e8b0f94f"],
-                   #uuid "27c6f1f5-f4de-5656-985e-1015baf59dbe" [#uuid "03a411e2-e097-516e-8c57-bba3b5b18851"],
-                   #uuid "02f0b98b-cc8d-5f33-98f9-3875666bb445" [#uuid "18aa9745-a39c-5e90-8ead-7cedb716c3eb"],
-                   #uuid "33547f1b-2480-508d-be34-63da3e1a6704"
-                   [#uuid "2aa5bf30-49c7-5157-81e8-c3158fe7410f" #uuid "2ed6f194-f62d-5393-8a09-c41b96a53df3" #uuid "2aa5bf30-49c7-5157-81e8-c3158fe7410f" #uuid "2ed6f194-f62d-5393-8a09-c41b96a53df3"],
-                   #uuid "3415ac38-98c7-5348-ba8d-427ec4461de7" [#uuid "14c9da43-a2cb-5112-8d21-d777da2189f4"],
-                   #uuid "071d505d-b198-5ed2-9417-9901737e4167" [#uuid "21b919d6-0e42-5eca-b42e-89cafe1764eb"],
-                   #uuid "3c65cb46-a053-56c8-a4b2-54c13e0389e5"
-                   [#uuid "20ebcafe-8544-5ed5-a58f-e8c5815b6fb9" #uuid "35299639-cd40-5c9a-936e-9965ffc991c7" #uuid "20ebcafe-8544-5ed5-a58f-e8c5815b6fb9" #uuid "35299639-cd40-5c9a-936e-9965ffc991c7"],
-                   #uuid "13534528-4d77-559e-98b7-ecfa442f5d86"
-                   [#uuid "07aa256c-bf28-58ff-84de-0c7a0ba98557" #uuid "1ff4c5fc-7f82-5f6b-8db1-9811650cb6bd" #uuid "07aa256c-bf28-58ff-84de-0c7a0ba98557" #uuid "1ff4c5fc-7f82-5f6b-8db1-9811650cb6bd"],
-                   #uuid "1e498232-d77c-534e-988a-b766ede1e236"
-                   [#uuid "267044b2-7efa-50e0-bab6-f667ce5e5058" #uuid "35299639-cd40-5c9a-936e-9965ffc991c7" #uuid "267044b2-7efa-50e0-bab6-f667ce5e5058" #uuid "35299639-cd40-5c9a-936e-9965ffc991c7"],
-                   #uuid "2941cf92-3650-54a2-bb63-07186dc61844" [#uuid "0b01f05c-b032-564c-ae61-662fbda0f419"],
-                   #uuid "3bc4c33a-6df4-54cf-a12b-38c8a950d571"
-                   [#uuid "1a1261d9-64ac-5ee8-b91d-c6d6f96c19bc" #uuid "01677820-90f5-5e0b-acbc-100932a22f05" #uuid "1a1261d9-64ac-5ee8-b91d-c6d6f96c19bc" #uuid "01677820-90f5-5e0b-acbc-100932a22f05"],
-                   #uuid "163ba81e-eb0e-5903-a244-da11d2230020"
-                   [#uuid "2c24a78d-e400-5368-b610-ab8b06115fce" #uuid "10418a82-fec8-57bb-b57f-65a26a8e0ff5" #uuid "2c24a78d-e400-5368-b610-ab8b06115fce" #uuid "10418a82-fec8-57bb-b57f-65a26a8e0ff5"],
-                   #uuid "267044b2-7efa-50e0-bab6-f667ce5e5058"
-                   [#uuid "33547f1b-2480-508d-be34-63da3e1a6704" #uuid "0fe1df74-facf-5759-8725-a7109b199b9a" #uuid "33547f1b-2480-508d-be34-63da3e1a6704" #uuid "0fe1df74-facf-5759-8725-a7109b199b9a"],
-                   #uuid "2835a623-4e30-5668-860b-3f001783d5c6" [#uuid "2a86f198-7dfe-51c7-b6b8-bf90cddd83ee"],
-                   #uuid "3e61855b-5b71-5956-88da-9cb86cc06218" [#uuid "2941cf92-3650-54a2-bb63-07186dc61844"],
-                   #uuid "2d9a21e3-6044-57da-87f7-b2826b17ba16" [#uuid "2835a623-4e30-5668-860b-3f001783d5c6"],
-                   #uuid "013d990f-8a4b-560b-b396-2ac970834ac0"
-                   [#uuid "142d78d3-e2b7-5926-8b53-c26919ab2466" #uuid "163ba81e-eb0e-5903-a244-da11d2230020" #uuid "142d78d3-e2b7-5926-8b53-c26919ab2466" #uuid "163ba81e-eb0e-5903-a244-da11d2230020"],
-                   #uuid "3b60573a-9a49-52a6-9176-6bc7bc1246f5" [#uuid "0ae0e29e-ad26-5b2a-abc1-92d0cd3eb7c6"],
-                   #uuid "10418a82-fec8-57bb-b57f-65a26a8e0ff5"
-                   [#uuid "1a98e86d-98c9-572e-a6e3-ea32e8b0f94f" #uuid "3e61855b-5b71-5956-88da-9cb86cc06218" #uuid "1a98e86d-98c9-572e-a6e3-ea32e8b0f94f" #uuid "3e61855b-5b71-5956-88da-9cb86cc06218"],
-                   #uuid "2adc74af-0537-5ba6-ab82-d50f519e7869" [#uuid "0a7b6be1-6aa5-519e-8001-1a5c1b92c717"],
-                   #uuid "2ed6f194-f62d-5393-8a09-c41b96a53df3"
-                   [#uuid "16ee1c8e-f8f3-503a-b12b-1f551f391de2" #uuid "2fdbb1a8-dc89-59aa-8466-e93ccdf9dae0" #uuid "16ee1c8e-f8f3-503a-b12b-1f551f391de2" #uuid "2fdbb1a8-dc89-59aa-8466-e93ccdf9dae0"],
-                   #uuid "19dc948d-f78d-5e15-b389-4909ee20e3c1"
-                   [#uuid "21d61fa0-7343-5103-ba28-df2c74d8521f" #uuid "3d5e0ad3-8f90-592a-ade8-b2a8352511a6" #uuid "21d61fa0-7343-5103-ba28-df2c74d8521f" #uuid "3d5e0ad3-8f90-592a-ade8-b2a8352511a6"],
-                   #uuid "3b12846b-48a3-5169-b369-61ac96b9425e" [#uuid "03ee12e5-52c2-5f92-bf10-eb9744c5f8d4"],
-                   #uuid "21d61fa0-7343-5103-ba28-df2c74d8521f"
-                   [#uuid "08238078-0dbf-5391-aa50-d7f5435d96e7" #uuid "2941cf92-3650-54a2-bb63-07186dc61844" #uuid "08238078-0dbf-5391-aa50-d7f5435d96e7" #uuid "2941cf92-3650-54a2-bb63-07186dc61844"],
-                   #uuid "3bdf5912-0b1f-5b75-87d5-fe4e2a98a81b" [#uuid "3fb9529d-6142-5bd5-a915-af91d6748f24"],
-                   #uuid "14c9da43-a2cb-5112-8d21-d777da2189f4" [#uuid "2adc74af-0537-5ba6-ab82-d50f519e7869"],
-                   #uuid "090d9643-a944-5572-88f3-0eb7e3b1a314" [#uuid "0fe1df74-facf-5759-8725-a7109b199b9a"],
-                   #uuid "18aa9745-a39c-5e90-8ead-7cedb716c3eb" [#uuid "27c6f1f5-f4de-5656-985e-1015baf59dbe"],
-                   #uuid "38064367-fa19-50e9-998d-a81b358ca086" [#uuid "22cc5272-aa31-595c-b6c9-aa03a37b1bd4"],
-                   #uuid "03ee12e5-52c2-5f92-bf10-eb9744c5f8d4" [#uuid "3890cfed-b083-52a7-960d-6cd02d74a26f"],
-                   #uuid "0a7b6be1-6aa5-519e-8001-1a5c1b92c717" [#uuid "144f2ee9-010d-5c7d-9a72-03d893900dfb"],
-                   #uuid "16ae7995-f3b7-529b-a8a7-b0a7bc51c8fd"
-                   [#uuid "13534528-4d77-559e-98b7-ecfa442f5d86" #uuid "067d5fe8-0089-5813-95db-14e0c2035424" #uuid "13534528-4d77-559e-98b7-ecfa442f5d86" #uuid "067d5fe8-0089-5813-95db-14e0c2035424"],
-                   #uuid "261b4031-5bb9-53ba-b1cf-a87d45bcaa83"
-                   [#uuid "1510e9fd-aacd-55c7-941d-4d9130e0214e" #uuid "0fe1df74-facf-5759-8725-a7109b199b9a" #uuid "1510e9fd-aacd-55c7-941d-4d9130e0214e" #uuid "0fe1df74-facf-5759-8725-a7109b199b9a"],
-                   #uuid "2dea9164-4057-542e-80ea-4159eab94b26"
-                   [#uuid "21673d4d-338b-5d8a-bf8f-551e8fc67518" #uuid "11387177-601c-5ded-98b5-99691cc5b512" #uuid "21673d4d-338b-5d8a-bf8f-551e8fc67518" #uuid "11387177-601c-5ded-98b5-99691cc5b512"],
-                   #uuid "3890cfed-b083-52a7-960d-6cd02d74a26f" [#uuid "169ecefc-a5db-5058-a5f4-bc34c719c749"],
-                   #uuid "2307205d-51d2-59b3-a90a-5867b950d9ff" [#uuid "314edcd9-4db8-5cbb-8247-ad96c495fac9"],
-                   #uuid "23f3a206-5035-5d07-9b35-a083afe9ec34" [#uuid "11dff09b-b3e2-5a44-ba13-30faf10e6a3c"],
-                   #uuid "144f2ee9-010d-5c7d-9a72-03d893900dfb" [#uuid "03721b99-e947-5789-98e2-0e6302941df1"],
-                   #uuid "3d5e0ad3-8f90-592a-ade8-b2a8352511a6"
-                   [#uuid "3c76478b-f003-5cf9-ad19-6136ee099759" #uuid "2941cf92-3650-54a2-bb63-07186dc61844" #uuid "3c76478b-f003-5cf9-ad19-6136ee099759" #uuid "2941cf92-3650-54a2-bb63-07186dc61844"],
-                   #uuid "0946b409-1e9d-5367-b3ea-9606af6bf7df"
-                   [#uuid "2dea9164-4057-542e-80ea-4159eab94b26" #uuid "16ee1c8e-f8f3-503a-b12b-1f551f391de2" #uuid "2dea9164-4057-542e-80ea-4159eab94b26" #uuid "16ee1c8e-f8f3-503a-b12b-1f551f391de2"],
-                   #uuid "20ebcafe-8544-5ed5-a58f-e8c5815b6fb9"
-                   [#uuid "261b4031-5bb9-53ba-b1cf-a87d45bcaa83" #uuid "267044b2-7efa-50e0-bab6-f667ce5e5058" #uuid "261b4031-5bb9-53ba-b1cf-a87d45bcaa83" #uuid "267044b2-7efa-50e0-bab6-f667ce5e5058"],
-                   #uuid "1af5f37a-1170-526e-b6aa-73406718c72c"
-                   [#uuid "1e424294-bb25-5901-9782-8cf39b81bf4e" #uuid "059630dd-7a03-5ea6-9ca5-348620c8e29f" #uuid "1e424294-bb25-5901-9782-8cf39b81bf4e" #uuid "059630dd-7a03-5ea6-9ca5-348620c8e29f"],
-                   #uuid "25f58a38-aa9d-5199-997b-b1c045af7059"
-                   [#uuid "0946b409-1e9d-5367-b3ea-9606af6bf7df" #uuid "2aa5bf30-49c7-5157-81e8-c3158fe7410f" #uuid "0946b409-1e9d-5367-b3ea-9606af6bf7df" #uuid "2aa5bf30-49c7-5157-81e8-c3158fe7410f"],
-                   #uuid "11dff09b-b3e2-5a44-ba13-30faf10e6a3c" [#uuid "3e61855b-5b71-5956-88da-9cb86cc06218"],
-                   #uuid "2fc13656-c13e-5388-87fb-d59b54b4d4fc"
-                   [#uuid "3c65cb46-a053-56c8-a4b2-54c13e0389e5" #uuid "1e498232-d77c-534e-988a-b766ede1e236" #uuid "3c65cb46-a053-56c8-a4b2-54c13e0389e5" #uuid "1e498232-d77c-534e-988a-b766ede1e236"],
-                   #uuid "169ecefc-a5db-5058-a5f4-bc34c719c749" [],
-                   #uuid "22cc5272-aa31-595c-b6c9-aa03a37b1bd4" [#uuid "1363f3ff-a092-5936-a7f3-edea64b960b9"],
-                   #uuid "1363f3ff-a092-5936-a7f3-edea64b960b9" [#uuid "27ddb3dd-b768-5c49-878a-09979c4e9d61"],
-                   #uuid "142d78d3-e2b7-5926-8b53-c26919ab2466"
-                   [#uuid "02ee492f-32cb-5c74-abff-028fa8a4f129" #uuid "10418a82-fec8-57bb-b57f-65a26a8e0ff5" #uuid "02ee492f-32cb-5c74-abff-028fa8a4f129" #uuid "10418a82-fec8-57bb-b57f-65a26a8e0ff5"],
-                   #uuid "1ff4c5fc-7f82-5f6b-8db1-9811650cb6bd"
-                   [#uuid "1e498232-d77c-534e-988a-b766ede1e236" #uuid "090d9643-a944-5572-88f3-0eb7e3b1a314" #uuid "1e498232-d77c-534e-988a-b766ede1e236" #uuid "090d9643-a944-5572-88f3-0eb7e3b1a314"],
-                   #uuid "1a1261d9-64ac-5ee8-b91d-c6d6f96c19bc"
-                   [#uuid "013d990f-8a4b-560b-b396-2ac970834ac0" #uuid "11dff09b-b3e2-5a44-ba13-30faf10e6a3c" #uuid "013d990f-8a4b-560b-b396-2ac970834ac0" #uuid "11dff09b-b3e2-5a44-ba13-30faf10e6a3c"],
-                   #uuid "1d5eadfb-050f-5674-850e-eeee9c9e88fa"
-                   [#uuid "10418a82-fec8-57bb-b57f-65a26a8e0ff5" #uuid "11dff09b-b3e2-5a44-ba13-30faf10e6a3c" #uuid "10418a82-fec8-57bb-b57f-65a26a8e0ff5" #uuid "11dff09b-b3e2-5a44-ba13-30faf10e6a3c"],
-                   #uuid "08238078-0dbf-5391-aa50-d7f5435d96e7"
-                   [#uuid "16ae7995-f3b7-529b-a8a7-b0a7bc51c8fd" #uuid "3c76478b-f003-5cf9-ad19-6136ee099759" #uuid "16ae7995-f3b7-529b-a8a7-b0a7bc51c8fd" #uuid "3c76478b-f003-5cf9-ad19-6136ee099759"],
-                   #uuid "0b577171-086e-53f6-9262-7e851ee8fd7e"
-                   [#uuid "3b60573a-9a49-52a6-9176-6bc7bc1246f5"],
-                   #uuid "2aa5bf30-49c7-5157-81e8-c3158fe7410f"
-                   [#uuid "11387177-601c-5ded-98b5-99691cc5b512" #uuid "16ee1c8e-f8f3-503a-b12b-1f551f391de2" #uuid "11387177-601c-5ded-98b5-99691cc5b512" #uuid "16ee1c8e-f8f3-503a-b12b-1f551f391de2"],
-                   #uuid "3c76478b-f003-5cf9-ad19-6136ee099759"
-                   [#uuid "1ff4c5fc-7f82-5f6b-8db1-9811650cb6bd" #uuid "067d5fe8-0089-5813-95db-14e0c2035424" #uuid "1ff4c5fc-7f82-5f6b-8db1-9811650cb6bd" #uuid "067d5fe8-0089-5813-95db-14e0c2035424"],
-                   #uuid "3fb9529d-6142-5bd5-a915-af91d6748f24" [#uuid "045e8240-6df3-531a-b390-c9238dc6cc7b"],
-                   #uuid "21b919d6-0e42-5eca-b42e-89cafe1764eb" [#uuid "2fdbb1a8-dc89-59aa-8466-e93ccdf9dae0"],
-                   #uuid "02ee492f-32cb-5c74-abff-028fa8a4f129"
-                   [#uuid "2f3c2b3b-1377-54af-b7ab-ab511223e8fb" #uuid "2c24a78d-e400-5368-b610-ab8b06115fce" #uuid "2f3c2b3b-1377-54af-b7ab-ab511223e8fb" #uuid "2c24a78d-e400-5368-b610-ab8b06115fce"],
-                   #uuid "314edcd9-4db8-5cbb-8247-ad96c495fac9" [#uuid "3415ac38-98c7-5348-ba8d-427ec4461de7"],
-                   #uuid "1a98e86d-98c9-572e-a6e3-ea32e8b0f94f"
-                   [#uuid "067d5fe8-0089-5813-95db-14e0c2035424" #uuid "2941cf92-3650-54a2-bb63-07186dc61844" #uuid "067d5fe8-0089-5813-95db-14e0c2035424" #uuid "2941cf92-3650-54a2-bb63-07186dc61844"],
-                   #uuid "2f3c2b3b-1377-54af-b7ab-ab511223e8fb"
-                   [#uuid "1af5f37a-1170-526e-b6aa-73406718c72c" #uuid "3e61855b-5b71-5956-88da-9cb86cc06218" #uuid "1af5f37a-1170-526e-b6aa-73406718c72c" #uuid "3e61855b-5b71-5956-88da-9cb86cc06218"],
-                   #uuid "07aa256c-bf28-58ff-84de-0c7a0ba98557"
-                   [#uuid "2fc13656-c13e-5388-87fb-d59b54b4d4fc" #uuid "090d9643-a944-5572-88f3-0eb7e3b1a314" #uuid "2fc13656-c13e-5388-87fb-d59b54b4d4fc" #uuid "090d9643-a944-5572-88f3-0eb7e3b1a314"],
-                   #uuid "03a411e2-e097-516e-8c57-bba3b5b18851" [#uuid "344cadf4-366d-5115-8cdd-be8b854b48b5"],
-                   #uuid "2fdbb1a8-dc89-59aa-8466-e93ccdf9dae0" [#uuid "0f800e2d-b036-520a-8657-eccfaaacc9ef"],
-                   #uuid "1ccd2e84-60fb-587d-9593-236a49240c0c" [#uuid "04e824f2-d7f6-5399-89f1-8ff6438c0d3f"],
-                   #uuid "344cadf4-366d-5115-8cdd-be8b854b48b5" [#uuid "2307205d-51d2-59b3-a90a-5867b950d9ff"],
-                   #uuid "067d5fe8-0089-5813-95db-14e0c2035424"
-                   [#uuid "071d505d-b198-5ed2-9417-9901737e4167" #uuid "090d9643-a944-5572-88f3-0eb7e3b1a314" #uuid "35299639-cd40-5c9a-936e-9965ffc991c7" #uuid "071d505d-b198-5ed2-9417-9901737e4167" #uuid "090d9643-a944-5572-88f3-0eb7e3b1a314" #uuid "35299639-cd40-5c9a-936e-9965ffc991c7"]},
-    :last-update #inst "2014-04-09T22:23:23.179-00:00",
-    :id #uuid "84473475-2c87-470e-8774-9de66e665812",
-    :description "A bookmark app.",
-    :schema {:type "http://github.com/ghubber/geschichte", :version 1},
-    :head "master",
-    :branches {"master" {:heads #{#uuid "169ecefc-a5db-5058-a5f4-bc34c719c749"}}},
-    :public true,
-    :pull-requests {}}) problem-meta)
+(comment
+  (require '[clojure.tools.trace :refer [dotrace]])
+  (def problem-meta
+    {:causal-order {#uuid "2c24a78d-e400-5368-b610-ab8b06115fce"
+                    [#uuid "059630dd-7a03-5ea6-9ca5-348620c8e29f" #uuid "3e61855b-5b71-5956-88da-9cb86cc06218" #uuid "059630dd-7a03-5ea6-9ca5-348620c8e29f" #uuid "3e61855b-5b71-5956-88da-9cb86cc06218"],
+                    #uuid "3931512d-9956-55bf-9a32-2a052f26a177"
+                    [#uuid "1ccd2e84-60fb-587d-9593-236a49240c0c"],
+                    #uuid "2a86f198-7dfe-51c7-b6b8-bf90cddd83ee"
+                    [#uuid "0b577171-086e-53f6-9262-7e851ee8fd7e"],
+                    #uuid "21673d4d-338b-5d8a-bf8f-551e8fc67518"
+                    [#uuid "2e48f297-de26-52e3-9a8a-5e423ef1a492" #uuid "23f3a206-5035-5d07-9b35-a083afe9ec34" #uuid "2e48f297-de26-52e3-9a8a-5e423ef1a492" #uuid "23f3a206-5035-5d07-9b35-a083afe9ec34"],
+                    #uuid "11387177-601c-5ded-98b5-99691cc5b512"
+                    [#uuid "1d5eadfb-050f-5674-850e-eeee9c9e88fa" #uuid "23f3a206-5035-5d07-9b35-a083afe9ec34" #uuid "1d5eadfb-050f-5674-850e-eeee9c9e88fa" #uuid "23f3a206-5035-5d07-9b35-a083afe9ec34"],
+                    #uuid "35299639-cd40-5c9a-936e-9965ffc991c7"
+                    [#uuid "2ed6f194-f62d-5393-8a09-c41b96a53df3" #uuid "0fe1df74-facf-5759-8725-a7109b199b9a" #uuid "2ed6f194-f62d-5393-8a09-c41b96a53df3" #uuid "0fe1df74-facf-5759-8725-a7109b199b9a"],
+                    #uuid "045e8240-6df3-531a-b390-c9238dc6cc7b"
+                    [#uuid "3b12846b-48a3-5169-b369-61ac96b9425e"],
+                    #uuid "059630dd-7a03-5ea6-9ca5-348620c8e29f"
+                    [#uuid "3d5e0ad3-8f90-592a-ade8-b2a8352511a6" #uuid "1a98e86d-98c9-572e-a6e3-ea32e8b0f94f" #uuid "3d5e0ad3-8f90-592a-ade8-b2a8352511a6" #uuid "1a98e86d-98c9-572e-a6e3-ea32e8b0f94f"],
+                    #uuid "0ae0e29e-ad26-5b2a-abc1-92d0cd3eb7c6"
+                    [#uuid "38064367-fa19-50e9-998d-a81b358ca086"],
+                    #uuid "04e824f2-d7f6-5399-89f1-8ff6438c0d3f"
+                    [#uuid "3bdf5912-0b1f-5b75-87d5-fe4e2a98a81b"],
+                    #uuid "27ddb3dd-b768-5c49-878a-09979c4e9d61"
+                    [#uuid "02f0b98b-cc8d-5f33-98f9-3875666bb445"],
+                    #uuid "03721b99-e947-5789-98e2-0e6302941df1"
+                    [#uuid "02f6a2bb-cfd3-55a6-b00a-799dd395bd42"],
+                    #uuid "02f6a2bb-cfd3-55a6-b00a-799dd395bd42"
+                    [#uuid "280ae09e-999d-5265-95d9-8537fb4a60c9" #uuid "29d3bd89-4410-5ce5-9648-e493e8f38e39" #uuid "280ae09e-999d-5265-95d9-8537fb4a60c9" #uuid "29d3bd89-4410-5ce5-9648-e493e8f38e39"],
+                    #uuid "16ee1c8e-f8f3-503a-b12b-1f551f391de2"
+                    [#uuid "23f3a206-5035-5d07-9b35-a083afe9ec34" #uuid "0f800e2d-b036-520a-8657-eccfaaacc9ef" #uuid "23f3a206-5035-5d07-9b35-a083afe9ec34" #uuid "0f800e2d-b036-520a-8657-eccfaaacc9ef"],
+                    #uuid "2e48f297-de26-52e3-9a8a-5e423ef1a492"
+                    [#uuid "01677820-90f5-5e0b-acbc-100932a22f05" #uuid "1d5eadfb-050f-5674-850e-eeee9c9e88fa" #uuid "01677820-90f5-5e0b-acbc-100932a22f05" #uuid "1d5eadfb-050f-5674-850e-eeee9c9e88fa"],
+                    #uuid "1510e9fd-aacd-55c7-941d-4d9130e0214e"
+                    [#uuid "2127466a-503f-5a30-97f0-d094111b73cb" #uuid "33547f1b-2480-508d-be34-63da3e1a6704" #uuid "2127466a-503f-5a30-97f0-d094111b73cb" #uuid "33547f1b-2480-508d-be34-63da3e1a6704"],
+                    #uuid "2127466a-503f-5a30-97f0-d094111b73cb"
+                    [#uuid "25f58a38-aa9d-5199-997b-b1c045af7059" #uuid "2ed6f194-f62d-5393-8a09-c41b96a53df3" #uuid "25f58a38-aa9d-5199-997b-b1c045af7059" #uuid "2ed6f194-f62d-5393-8a09-c41b96a53df3"],
+                    #uuid "280ae09e-999d-5265-95d9-8537fb4a60c9" [#uuid "3931512d-9956-55bf-9a32-2a052f26a177"],
+                    #uuid "0b01f05c-b032-564c-ae61-662fbda0f419" [#uuid "090d9643-a944-5572-88f3-0eb7e3b1a314"],
+                    #uuid "29d3bd89-4410-5ce5-9648-e493e8f38e39" [#uuid "3931512d-9956-55bf-9a32-2a052f26a177"],
+                    #uuid "0fe1df74-facf-5759-8725-a7109b199b9a" [#uuid "2d9a21e3-6044-57da-87f7-b2826b17ba16"],
+                    #uuid "0f800e2d-b036-520a-8657-eccfaaacc9ef" [#uuid "0b577171-086e-53f6-9262-7e851ee8fd7e"],
+                    #uuid "01677820-90f5-5e0b-acbc-100932a22f05"
+                    [#uuid "163ba81e-eb0e-5903-a244-da11d2230020" #uuid "11dff09b-b3e2-5a44-ba13-30faf10e6a3c" #uuid "163ba81e-eb0e-5903-a244-da11d2230020" #uuid "11dff09b-b3e2-5a44-ba13-30faf10e6a3c"],
+                    #uuid "1e424294-bb25-5901-9782-8cf39b81bf4e"
+                    [#uuid "19dc948d-f78d-5e15-b389-4909ee20e3c1" #uuid "1a98e86d-98c9-572e-a6e3-ea32e8b0f94f" #uuid "19dc948d-f78d-5e15-b389-4909ee20e3c1" #uuid "1a98e86d-98c9-572e-a6e3-ea32e8b0f94f"],
+                    #uuid "27c6f1f5-f4de-5656-985e-1015baf59dbe" [#uuid "03a411e2-e097-516e-8c57-bba3b5b18851"],
+                    #uuid "02f0b98b-cc8d-5f33-98f9-3875666bb445" [#uuid "18aa9745-a39c-5e90-8ead-7cedb716c3eb"],
+                    #uuid "33547f1b-2480-508d-be34-63da3e1a6704"
+                    [#uuid "2aa5bf30-49c7-5157-81e8-c3158fe7410f" #uuid "2ed6f194-f62d-5393-8a09-c41b96a53df3" #uuid "2aa5bf30-49c7-5157-81e8-c3158fe7410f" #uuid "2ed6f194-f62d-5393-8a09-c41b96a53df3"],
+                    #uuid "3415ac38-98c7-5348-ba8d-427ec4461de7" [#uuid "14c9da43-a2cb-5112-8d21-d777da2189f4"],
+                    #uuid "071d505d-b198-5ed2-9417-9901737e4167" [#uuid "21b919d6-0e42-5eca-b42e-89cafe1764eb"],
+                    #uuid "3c65cb46-a053-56c8-a4b2-54c13e0389e5"
+                    [#uuid "20ebcafe-8544-5ed5-a58f-e8c5815b6fb9" #uuid "35299639-cd40-5c9a-936e-9965ffc991c7" #uuid "20ebcafe-8544-5ed5-a58f-e8c5815b6fb9" #uuid "35299639-cd40-5c9a-936e-9965ffc991c7"],
+                    #uuid "13534528-4d77-559e-98b7-ecfa442f5d86"
+                    [#uuid "07aa256c-bf28-58ff-84de-0c7a0ba98557" #uuid "1ff4c5fc-7f82-5f6b-8db1-9811650cb6bd" #uuid "07aa256c-bf28-58ff-84de-0c7a0ba98557" #uuid "1ff4c5fc-7f82-5f6b-8db1-9811650cb6bd"],
+                    #uuid "1e498232-d77c-534e-988a-b766ede1e236"
+                    [#uuid "267044b2-7efa-50e0-bab6-f667ce5e5058" #uuid "35299639-cd40-5c9a-936e-9965ffc991c7" #uuid "267044b2-7efa-50e0-bab6-f667ce5e5058" #uuid "35299639-cd40-5c9a-936e-9965ffc991c7"],
+                    #uuid "2941cf92-3650-54a2-bb63-07186dc61844" [#uuid "0b01f05c-b032-564c-ae61-662fbda0f419"],
+                    #uuid "3bc4c33a-6df4-54cf-a12b-38c8a950d571"
+                    [#uuid "1a1261d9-64ac-5ee8-b91d-c6d6f96c19bc" #uuid "01677820-90f5-5e0b-acbc-100932a22f05" #uuid "1a1261d9-64ac-5ee8-b91d-c6d6f96c19bc" #uuid "01677820-90f5-5e0b-acbc-100932a22f05"],
+                    #uuid "163ba81e-eb0e-5903-a244-da11d2230020"
+                    [#uuid "2c24a78d-e400-5368-b610-ab8b06115fce" #uuid "10418a82-fec8-57bb-b57f-65a26a8e0ff5" #uuid "2c24a78d-e400-5368-b610-ab8b06115fce" #uuid "10418a82-fec8-57bb-b57f-65a26a8e0ff5"],
+                    #uuid "267044b2-7efa-50e0-bab6-f667ce5e5058"
+                    [#uuid "33547f1b-2480-508d-be34-63da3e1a6704" #uuid "0fe1df74-facf-5759-8725-a7109b199b9a" #uuid "33547f1b-2480-508d-be34-63da3e1a6704" #uuid "0fe1df74-facf-5759-8725-a7109b199b9a"],
+                    #uuid "2835a623-4e30-5668-860b-3f001783d5c6" [#uuid "2a86f198-7dfe-51c7-b6b8-bf90cddd83ee"],
+                    #uuid "3e61855b-5b71-5956-88da-9cb86cc06218" [#uuid "2941cf92-3650-54a2-bb63-07186dc61844"],
+                    #uuid "2d9a21e3-6044-57da-87f7-b2826b17ba16" [#uuid "2835a623-4e30-5668-860b-3f001783d5c6"],
+                    #uuid "013d990f-8a4b-560b-b396-2ac970834ac0"
+                    [#uuid "142d78d3-e2b7-5926-8b53-c26919ab2466" #uuid "163ba81e-eb0e-5903-a244-da11d2230020" #uuid "142d78d3-e2b7-5926-8b53-c26919ab2466" #uuid "163ba81e-eb0e-5903-a244-da11d2230020"],
+                    #uuid "3b60573a-9a49-52a6-9176-6bc7bc1246f5" [#uuid "0ae0e29e-ad26-5b2a-abc1-92d0cd3eb7c6"],
+                    #uuid "10418a82-fec8-57bb-b57f-65a26a8e0ff5"
+                    [#uuid "1a98e86d-98c9-572e-a6e3-ea32e8b0f94f" #uuid "3e61855b-5b71-5956-88da-9cb86cc06218" #uuid "1a98e86d-98c9-572e-a6e3-ea32e8b0f94f" #uuid "3e61855b-5b71-5956-88da-9cb86cc06218"],
+                    #uuid "2adc74af-0537-5ba6-ab82-d50f519e7869" [#uuid "0a7b6be1-6aa5-519e-8001-1a5c1b92c717"],
+                    #uuid "2ed6f194-f62d-5393-8a09-c41b96a53df3"
+                    [#uuid "16ee1c8e-f8f3-503a-b12b-1f551f391de2" #uuid "2fdbb1a8-dc89-59aa-8466-e93ccdf9dae0" #uuid "16ee1c8e-f8f3-503a-b12b-1f551f391de2" #uuid "2fdbb1a8-dc89-59aa-8466-e93ccdf9dae0"],
+                    #uuid "19dc948d-f78d-5e15-b389-4909ee20e3c1"
+                    [#uuid "21d61fa0-7343-5103-ba28-df2c74d8521f" #uuid "3d5e0ad3-8f90-592a-ade8-b2a8352511a6" #uuid "21d61fa0-7343-5103-ba28-df2c74d8521f" #uuid "3d5e0ad3-8f90-592a-ade8-b2a8352511a6"],
+                    #uuid "3b12846b-48a3-5169-b369-61ac96b9425e" [#uuid "03ee12e5-52c2-5f92-bf10-eb9744c5f8d4"],
+                    #uuid "21d61fa0-7343-5103-ba28-df2c74d8521f"
+                    [#uuid "08238078-0dbf-5391-aa50-d7f5435d96e7" #uuid "2941cf92-3650-54a2-bb63-07186dc61844" #uuid "08238078-0dbf-5391-aa50-d7f5435d96e7" #uuid "2941cf92-3650-54a2-bb63-07186dc61844"],
+                    #uuid "3bdf5912-0b1f-5b75-87d5-fe4e2a98a81b" [#uuid "3fb9529d-6142-5bd5-a915-af91d6748f24"],
+                    #uuid "14c9da43-a2cb-5112-8d21-d777da2189f4" [#uuid "2adc74af-0537-5ba6-ab82-d50f519e7869"],
+                    #uuid "090d9643-a944-5572-88f3-0eb7e3b1a314" [#uuid "0fe1df74-facf-5759-8725-a7109b199b9a"],
+                    #uuid "18aa9745-a39c-5e90-8ead-7cedb716c3eb" [#uuid "27c6f1f5-f4de-5656-985e-1015baf59dbe"],
+                    #uuid "38064367-fa19-50e9-998d-a81b358ca086" [#uuid "22cc5272-aa31-595c-b6c9-aa03a37b1bd4"],
+                    #uuid "03ee12e5-52c2-5f92-bf10-eb9744c5f8d4" [#uuid "3890cfed-b083-52a7-960d-6cd02d74a26f"],
+                    #uuid "0a7b6be1-6aa5-519e-8001-1a5c1b92c717" [#uuid "144f2ee9-010d-5c7d-9a72-03d893900dfb"],
+                    #uuid "16ae7995-f3b7-529b-a8a7-b0a7bc51c8fd"
+                    [#uuid "13534528-4d77-559e-98b7-ecfa442f5d86" #uuid "067d5fe8-0089-5813-95db-14e0c2035424" #uuid "13534528-4d77-559e-98b7-ecfa442f5d86" #uuid "067d5fe8-0089-5813-95db-14e0c2035424"],
+                    #uuid "261b4031-5bb9-53ba-b1cf-a87d45bcaa83"
+                    [#uuid "1510e9fd-aacd-55c7-941d-4d9130e0214e" #uuid "0fe1df74-facf-5759-8725-a7109b199b9a" #uuid "1510e9fd-aacd-55c7-941d-4d9130e0214e" #uuid "0fe1df74-facf-5759-8725-a7109b199b9a"],
+                    #uuid "2dea9164-4057-542e-80ea-4159eab94b26"
+                    [#uuid "21673d4d-338b-5d8a-bf8f-551e8fc67518" #uuid "11387177-601c-5ded-98b5-99691cc5b512" #uuid "21673d4d-338b-5d8a-bf8f-551e8fc67518" #uuid "11387177-601c-5ded-98b5-99691cc5b512"],
+                    #uuid "3890cfed-b083-52a7-960d-6cd02d74a26f" [#uuid "169ecefc-a5db-5058-a5f4-bc34c719c749"],
+                    #uuid "2307205d-51d2-59b3-a90a-5867b950d9ff" [#uuid "314edcd9-4db8-5cbb-8247-ad96c495fac9"],
+                    #uuid "23f3a206-5035-5d07-9b35-a083afe9ec34" [#uuid "11dff09b-b3e2-5a44-ba13-30faf10e6a3c"],
+                    #uuid "144f2ee9-010d-5c7d-9a72-03d893900dfb" [#uuid "03721b99-e947-5789-98e2-0e6302941df1"],
+                    #uuid "3d5e0ad3-8f90-592a-ade8-b2a8352511a6"
+                    [#uuid "3c76478b-f003-5cf9-ad19-6136ee099759" #uuid "2941cf92-3650-54a2-bb63-07186dc61844" #uuid "3c76478b-f003-5cf9-ad19-6136ee099759" #uuid "2941cf92-3650-54a2-bb63-07186dc61844"],
+                    #uuid "0946b409-1e9d-5367-b3ea-9606af6bf7df"
+                    [#uuid "2dea9164-4057-542e-80ea-4159eab94b26" #uuid "16ee1c8e-f8f3-503a-b12b-1f551f391de2" #uuid "2dea9164-4057-542e-80ea-4159eab94b26" #uuid "16ee1c8e-f8f3-503a-b12b-1f551f391de2"],
+                    #uuid "20ebcafe-8544-5ed5-a58f-e8c5815b6fb9"
+                    [#uuid "261b4031-5bb9-53ba-b1cf-a87d45bcaa83" #uuid "267044b2-7efa-50e0-bab6-f667ce5e5058" #uuid "261b4031-5bb9-53ba-b1cf-a87d45bcaa83" #uuid "267044b2-7efa-50e0-bab6-f667ce5e5058"],
+                    #uuid "1af5f37a-1170-526e-b6aa-73406718c72c"
+                    [#uuid "1e424294-bb25-5901-9782-8cf39b81bf4e" #uuid "059630dd-7a03-5ea6-9ca5-348620c8e29f" #uuid "1e424294-bb25-5901-9782-8cf39b81bf4e" #uuid "059630dd-7a03-5ea6-9ca5-348620c8e29f"],
+                    #uuid "25f58a38-aa9d-5199-997b-b1c045af7059"
+                    [#uuid "0946b409-1e9d-5367-b3ea-9606af6bf7df" #uuid "2aa5bf30-49c7-5157-81e8-c3158fe7410f" #uuid "0946b409-1e9d-5367-b3ea-9606af6bf7df" #uuid "2aa5bf30-49c7-5157-81e8-c3158fe7410f"],
+                    #uuid "11dff09b-b3e2-5a44-ba13-30faf10e6a3c" [#uuid "3e61855b-5b71-5956-88da-9cb86cc06218"],
+                    #uuid "2fc13656-c13e-5388-87fb-d59b54b4d4fc"
+                    [#uuid "3c65cb46-a053-56c8-a4b2-54c13e0389e5" #uuid "1e498232-d77c-534e-988a-b766ede1e236" #uuid "3c65cb46-a053-56c8-a4b2-54c13e0389e5" #uuid "1e498232-d77c-534e-988a-b766ede1e236"],
+                    #uuid "169ecefc-a5db-5058-a5f4-bc34c719c749" [],
+                    #uuid "22cc5272-aa31-595c-b6c9-aa03a37b1bd4" [#uuid "1363f3ff-a092-5936-a7f3-edea64b960b9"],
+                    #uuid "1363f3ff-a092-5936-a7f3-edea64b960b9" [#uuid "27ddb3dd-b768-5c49-878a-09979c4e9d61"],
+                    #uuid "142d78d3-e2b7-5926-8b53-c26919ab2466"
+                    [#uuid "02ee492f-32cb-5c74-abff-028fa8a4f129" #uuid "10418a82-fec8-57bb-b57f-65a26a8e0ff5" #uuid "02ee492f-32cb-5c74-abff-028fa8a4f129" #uuid "10418a82-fec8-57bb-b57f-65a26a8e0ff5"],
+                    #uuid "1ff4c5fc-7f82-5f6b-8db1-9811650cb6bd"
+                    [#uuid "1e498232-d77c-534e-988a-b766ede1e236" #uuid "090d9643-a944-5572-88f3-0eb7e3b1a314" #uuid "1e498232-d77c-534e-988a-b766ede1e236" #uuid "090d9643-a944-5572-88f3-0eb7e3b1a314"],
+                    #uuid "1a1261d9-64ac-5ee8-b91d-c6d6f96c19bc"
+                    [#uuid "013d990f-8a4b-560b-b396-2ac970834ac0" #uuid "11dff09b-b3e2-5a44-ba13-30faf10e6a3c" #uuid "013d990f-8a4b-560b-b396-2ac970834ac0" #uuid "11dff09b-b3e2-5a44-ba13-30faf10e6a3c"],
+                    #uuid "1d5eadfb-050f-5674-850e-eeee9c9e88fa"
+                    [#uuid "10418a82-fec8-57bb-b57f-65a26a8e0ff5" #uuid "11dff09b-b3e2-5a44-ba13-30faf10e6a3c" #uuid "10418a82-fec8-57bb-b57f-65a26a8e0ff5" #uuid "11dff09b-b3e2-5a44-ba13-30faf10e6a3c"],
+                    #uuid "08238078-0dbf-5391-aa50-d7f5435d96e7"
+                    [#uuid "16ae7995-f3b7-529b-a8a7-b0a7bc51c8fd" #uuid "3c76478b-f003-5cf9-ad19-6136ee099759" #uuid "16ae7995-f3b7-529b-a8a7-b0a7bc51c8fd" #uuid "3c76478b-f003-5cf9-ad19-6136ee099759"],
+                    #uuid "0b577171-086e-53f6-9262-7e851ee8fd7e"
+                    [#uuid "3b60573a-9a49-52a6-9176-6bc7bc1246f5"],
+                    #uuid "2aa5bf30-49c7-5157-81e8-c3158fe7410f"
+                    [#uuid "11387177-601c-5ded-98b5-99691cc5b512" #uuid "16ee1c8e-f8f3-503a-b12b-1f551f391de2" #uuid "11387177-601c-5ded-98b5-99691cc5b512" #uuid "16ee1c8e-f8f3-503a-b12b-1f551f391de2"],
+                    #uuid "3c76478b-f003-5cf9-ad19-6136ee099759"
+                    [#uuid "1ff4c5fc-7f82-5f6b-8db1-9811650cb6bd" #uuid "067d5fe8-0089-5813-95db-14e0c2035424" #uuid "1ff4c5fc-7f82-5f6b-8db1-9811650cb6bd" #uuid "067d5fe8-0089-5813-95db-14e0c2035424"],
+                    #uuid "3fb9529d-6142-5bd5-a915-af91d6748f24" [#uuid "045e8240-6df3-531a-b390-c9238dc6cc7b"],
+                    #uuid "21b919d6-0e42-5eca-b42e-89cafe1764eb" [#uuid "2fdbb1a8-dc89-59aa-8466-e93ccdf9dae0"],
+                    #uuid "02ee492f-32cb-5c74-abff-028fa8a4f129"
+                    [#uuid "2f3c2b3b-1377-54af-b7ab-ab511223e8fb" #uuid "2c24a78d-e400-5368-b610-ab8b06115fce" #uuid "2f3c2b3b-1377-54af-b7ab-ab511223e8fb" #uuid "2c24a78d-e400-5368-b610-ab8b06115fce"],
+                    #uuid "314edcd9-4db8-5cbb-8247-ad96c495fac9" [#uuid "3415ac38-98c7-5348-ba8d-427ec4461de7"],
+                    #uuid "1a98e86d-98c9-572e-a6e3-ea32e8b0f94f"
+                    [#uuid "067d5fe8-0089-5813-95db-14e0c2035424" #uuid "2941cf92-3650-54a2-bb63-07186dc61844" #uuid "067d5fe8-0089-5813-95db-14e0c2035424" #uuid "2941cf92-3650-54a2-bb63-07186dc61844"],
+                    #uuid "2f3c2b3b-1377-54af-b7ab-ab511223e8fb"
+                    [#uuid "1af5f37a-1170-526e-b6aa-73406718c72c" #uuid "3e61855b-5b71-5956-88da-9cb86cc06218" #uuid "1af5f37a-1170-526e-b6aa-73406718c72c" #uuid "3e61855b-5b71-5956-88da-9cb86cc06218"],
+                    #uuid "07aa256c-bf28-58ff-84de-0c7a0ba98557"
+                    [#uuid "2fc13656-c13e-5388-87fb-d59b54b4d4fc" #uuid "090d9643-a944-5572-88f3-0eb7e3b1a314" #uuid "2fc13656-c13e-5388-87fb-d59b54b4d4fc" #uuid "090d9643-a944-5572-88f3-0eb7e3b1a314"],
+                    #uuid "03a411e2-e097-516e-8c57-bba3b5b18851" [#uuid "344cadf4-366d-5115-8cdd-be8b854b48b5"],
+                    #uuid "2fdbb1a8-dc89-59aa-8466-e93ccdf9dae0" [#uuid "0f800e2d-b036-520a-8657-eccfaaacc9ef"],
+                    #uuid "1ccd2e84-60fb-587d-9593-236a49240c0c" [#uuid "04e824f2-d7f6-5399-89f1-8ff6438c0d3f"],
+                    #uuid "344cadf4-366d-5115-8cdd-be8b854b48b5" [#uuid "2307205d-51d2-59b3-a90a-5867b950d9ff"],
+                    #uuid "067d5fe8-0089-5813-95db-14e0c2035424"
+                    [#uuid "071d505d-b198-5ed2-9417-9901737e4167" #uuid "090d9643-a944-5572-88f3-0eb7e3b1a314" #uuid "35299639-cd40-5c9a-936e-9965ffc991c7" #uuid "071d505d-b198-5ed2-9417-9901737e4167" #uuid "090d9643-a944-5572-88f3-0eb7e3b1a314" #uuid "35299639-cd40-5c9a-936e-9965ffc991c7"]},
+     :last-update #inst "2014-04-09T22:23:23.179-00:00",
+     :id #uuid "84473475-2c87-470e-8774-9de66e665812",
+     :description "A bookmark app.",
+     :schema {:type "http://github.com/ghubber/geschichte", :version 1},
+     :head "master",
+     :branches {"master" {:heads #{#uuid "1510e9fd-aacd-55c7-941d-4d9130e0214e" #uuid "3bc4c33a-6df4-54cf-a12b-38c8a950d571"}}},
+     :public true,
+     :pull-requests {}})
+  #_(dotrace [lowest-common-ancestors] (update problem-meta problem-meta))
+  #_(= (update problem-meta {:causal-order {#uuid "2c24a78d-e400-5368-b610-ab8b06115fce"
+                                            [#uuid "059630dd-7a03-5ea6-9ca5-348620c8e29f" #uuid "3e61855b-5b71-5956-88da-9cb86cc06218" #uuid "059630dd-7a03-5ea6-9ca5-348620c8e29f" #uuid "3e61855b-5b71-5956-88da-9cb86cc06218"],
+                                            #uuid "3931512d-9956-55bf-9a32-2a052f26a177"
+                                            [#uuid "1ccd2e84-60fb-587d-9593-236a49240c0c"],
+                                            #uuid "2a86f198-7dfe-51c7-b6b8-bf90cddd83ee"
+                                            [#uuid "0b577171-086e-53f6-9262-7e851ee8fd7e"],
+                                            #uuid "21673d4d-338b-5d8a-bf8f-551e8fc67518"
+                                            [#uuid "2e48f297-de26-52e3-9a8a-5e423ef1a492" #uuid "23f3a206-5035-5d07-9b35-a083afe9ec34" #uuid "2e48f297-de26-52e3-9a8a-5e423ef1a492" #uuid "23f3a206-5035-5d07-9b35-a083afe9ec34"],
+                                            #uuid "11387177-601c-5ded-98b5-99691cc5b512"
+                                            [#uuid "1d5eadfb-050f-5674-850e-eeee9c9e88fa" #uuid "23f3a206-5035-5d07-9b35-a083afe9ec34" #uuid "1d5eadfb-050f-5674-850e-eeee9c9e88fa" #uuid "23f3a206-5035-5d07-9b35-a083afe9ec34"],
+                                            #uuid "35299639-cd40-5c9a-936e-9965ffc991c7"
+                                            [#uuid "2ed6f194-f62d-5393-8a09-c41b96a53df3" #uuid "0fe1df74-facf-5759-8725-a7109b199b9a" #uuid "2ed6f194-f62d-5393-8a09-c41b96a53df3" #uuid "0fe1df74-facf-5759-8725-a7109b199b9a"],
+                                            #uuid "045e8240-6df3-531a-b390-c9238dc6cc7b"
+                                            [#uuid "3b12846b-48a3-5169-b369-61ac96b9425e"],
+                                            #uuid "059630dd-7a03-5ea6-9ca5-348620c8e29f"
+                                            [#uuid "3d5e0ad3-8f90-592a-ade8-b2a8352511a6" #uuid "1a98e86d-98c9-572e-a6e3-ea32e8b0f94f" #uuid "3d5e0ad3-8f90-592a-ade8-b2a8352511a6" #uuid "1a98e86d-98c9-572e-a6e3-ea32e8b0f94f"],
+                                            #uuid "0ae0e29e-ad26-5b2a-abc1-92d0cd3eb7c6"
+                                            [#uuid "38064367-fa19-50e9-998d-a81b358ca086"],
+                                            #uuid "04e824f2-d7f6-5399-89f1-8ff6438c0d3f"
+                                            [#uuid "3bdf5912-0b1f-5b75-87d5-fe4e2a98a81b"],
+                                            #uuid "27ddb3dd-b768-5c49-878a-09979c4e9d61"
+                                            [#uuid "02f0b98b-cc8d-5f33-98f9-3875666bb445"],
+                                            #uuid "03721b99-e947-5789-98e2-0e6302941df1"
+                                            [#uuid "02f6a2bb-cfd3-55a6-b00a-799dd395bd42"],
+                                            #uuid "02f6a2bb-cfd3-55a6-b00a-799dd395bd42"
+                                            [#uuid "280ae09e-999d-5265-95d9-8537fb4a60c9" #uuid "29d3bd89-4410-5ce5-9648-e493e8f38e39" #uuid "280ae09e-999d-5265-95d9-8537fb4a60c9" #uuid "29d3bd89-4410-5ce5-9648-e493e8f38e39"],
+                                            #uuid "16ee1c8e-f8f3-503a-b12b-1f551f391de2"
+                                            [#uuid "23f3a206-5035-5d07-9b35-a083afe9ec34" #uuid "0f800e2d-b036-520a-8657-eccfaaacc9ef" #uuid "23f3a206-5035-5d07-9b35-a083afe9ec34" #uuid "0f800e2d-b036-520a-8657-eccfaaacc9ef"],
+                                            #uuid "2e48f297-de26-52e3-9a8a-5e423ef1a492"
+                                            [#uuid "01677820-90f5-5e0b-acbc-100932a22f05" #uuid "1d5eadfb-050f-5674-850e-eeee9c9e88fa" #uuid "01677820-90f5-5e0b-acbc-100932a22f05" #uuid "1d5eadfb-050f-5674-850e-eeee9c9e88fa"],
+                                            #uuid "1510e9fd-aacd-55c7-941d-4d9130e0214e"
+                                            [#uuid "2127466a-503f-5a30-97f0-d094111b73cb" #uuid "33547f1b-2480-508d-be34-63da3e1a6704" #uuid "2127466a-503f-5a30-97f0-d094111b73cb" #uuid "33547f1b-2480-508d-be34-63da3e1a6704"],
+                                            #uuid "2127466a-503f-5a30-97f0-d094111b73cb"
+                                            [#uuid "25f58a38-aa9d-5199-997b-b1c045af7059" #uuid "2ed6f194-f62d-5393-8a09-c41b96a53df3" #uuid "25f58a38-aa9d-5199-997b-b1c045af7059" #uuid "2ed6f194-f62d-5393-8a09-c41b96a53df3"],
+                                            #uuid "280ae09e-999d-5265-95d9-8537fb4a60c9" [#uuid "3931512d-9956-55bf-9a32-2a052f26a177"],
+                                            #uuid "0b01f05c-b032-564c-ae61-662fbda0f419" [#uuid "090d9643-a944-5572-88f3-0eb7e3b1a314"],
+                                            #uuid "29d3bd89-4410-5ce5-9648-e493e8f38e39" [#uuid "3931512d-9956-55bf-9a32-2a052f26a177"],
+                                            #uuid "0fe1df74-facf-5759-8725-a7109b199b9a" [#uuid "2d9a21e3-6044-57da-87f7-b2826b17ba16"],
+                                            #uuid "0f800e2d-b036-520a-8657-eccfaaacc9ef" [#uuid "0b577171-086e-53f6-9262-7e851ee8fd7e"],
+                                            #uuid "01677820-90f5-5e0b-acbc-100932a22f05"
+                                            [#uuid "163ba81e-eb0e-5903-a244-da11d2230020" #uuid "11dff09b-b3e2-5a44-ba13-30faf10e6a3c" #uuid "163ba81e-eb0e-5903-a244-da11d2230020" #uuid "11dff09b-b3e2-5a44-ba13-30faf10e6a3c"],
+                                            #uuid "1e424294-bb25-5901-9782-8cf39b81bf4e"
+                                            [#uuid "19dc948d-f78d-5e15-b389-4909ee20e3c1" #uuid "1a98e86d-98c9-572e-a6e3-ea32e8b0f94f" #uuid "19dc948d-f78d-5e15-b389-4909ee20e3c1" #uuid "1a98e86d-98c9-572e-a6e3-ea32e8b0f94f"],
+                                            #uuid "27c6f1f5-f4de-5656-985e-1015baf59dbe" [#uuid "03a411e2-e097-516e-8c57-bba3b5b18851"],
+                                            #uuid "02f0b98b-cc8d-5f33-98f9-3875666bb445" [#uuid "18aa9745-a39c-5e90-8ead-7cedb716c3eb"],
+                                            #uuid "33547f1b-2480-508d-be34-63da3e1a6704"
+                                            [#uuid "2aa5bf30-49c7-5157-81e8-c3158fe7410f" #uuid "2ed6f194-f62d-5393-8a09-c41b96a53df3" #uuid "2aa5bf30-49c7-5157-81e8-c3158fe7410f" #uuid "2ed6f194-f62d-5393-8a09-c41b96a53df3"],
+                                            #uuid "3415ac38-98c7-5348-ba8d-427ec4461de7" [#uuid "14c9da43-a2cb-5112-8d21-d777da2189f4"],
+                                            #uuid "071d505d-b198-5ed2-9417-9901737e4167" [#uuid "21b919d6-0e42-5eca-b42e-89cafe1764eb"],
+                                            #uuid "3c65cb46-a053-56c8-a4b2-54c13e0389e5"
+                                            [#uuid "20ebcafe-8544-5ed5-a58f-e8c5815b6fb9" #uuid "35299639-cd40-5c9a-936e-9965ffc991c7" #uuid "20ebcafe-8544-5ed5-a58f-e8c5815b6fb9" #uuid "35299639-cd40-5c9a-936e-9965ffc991c7"],
+                                            #uuid "13534528-4d77-559e-98b7-ecfa442f5d86"
+                                            [#uuid "07aa256c-bf28-58ff-84de-0c7a0ba98557" #uuid "1ff4c5fc-7f82-5f6b-8db1-9811650cb6bd" #uuid "07aa256c-bf28-58ff-84de-0c7a0ba98557" #uuid "1ff4c5fc-7f82-5f6b-8db1-9811650cb6bd"],
+                                            #uuid "1e498232-d77c-534e-988a-b766ede1e236"
+                                            [#uuid "267044b2-7efa-50e0-bab6-f667ce5e5058" #uuid "35299639-cd40-5c9a-936e-9965ffc991c7" #uuid "267044b2-7efa-50e0-bab6-f667ce5e5058" #uuid "35299639-cd40-5c9a-936e-9965ffc991c7"],
+                                            #uuid "2941cf92-3650-54a2-bb63-07186dc61844" [#uuid "0b01f05c-b032-564c-ae61-662fbda0f419"],
+                                            #uuid "3bc4c33a-6df4-54cf-a12b-38c8a950d571"
+                                            [#uuid "1a1261d9-64ac-5ee8-b91d-c6d6f96c19bc" #uuid "01677820-90f5-5e0b-acbc-100932a22f05" #uuid "1a1261d9-64ac-5ee8-b91d-c6d6f96c19bc" #uuid "01677820-90f5-5e0b-acbc-100932a22f05"],
+                                            #uuid "163ba81e-eb0e-5903-a244-da11d2230020"
+                                            [#uuid "2c24a78d-e400-5368-b610-ab8b06115fce" #uuid "10418a82-fec8-57bb-b57f-65a26a8e0ff5" #uuid "2c24a78d-e400-5368-b610-ab8b06115fce" #uuid "10418a82-fec8-57bb-b57f-65a26a8e0ff5"],
+                                            #uuid "267044b2-7efa-50e0-bab6-f667ce5e5058"
+                                            [#uuid "33547f1b-2480-508d-be34-63da3e1a6704" #uuid "0fe1df74-facf-5759-8725-a7109b199b9a" #uuid "33547f1b-2480-508d-be34-63da3e1a6704" #uuid "0fe1df74-facf-5759-8725-a7109b199b9a"],
+                                            #uuid "2835a623-4e30-5668-860b-3f001783d5c6" [#uuid "2a86f198-7dfe-51c7-b6b8-bf90cddd83ee"],
+                                            #uuid "3e61855b-5b71-5956-88da-9cb86cc06218" [#uuid "2941cf92-3650-54a2-bb63-07186dc61844"],
+                                            #uuid "2d9a21e3-6044-57da-87f7-b2826b17ba16" [#uuid "2835a623-4e30-5668-860b-3f001783d5c6"],
+                                            #uuid "013d990f-8a4b-560b-b396-2ac970834ac0"
+                                            [#uuid "142d78d3-e2b7-5926-8b53-c26919ab2466" #uuid "163ba81e-eb0e-5903-a244-da11d2230020" #uuid "142d78d3-e2b7-5926-8b53-c26919ab2466" #uuid "163ba81e-eb0e-5903-a244-da11d2230020"],
+                                            #uuid "3b60573a-9a49-52a6-9176-6bc7bc1246f5" [#uuid "0ae0e29e-ad26-5b2a-abc1-92d0cd3eb7c6"],
+                                            #uuid "10418a82-fec8-57bb-b57f-65a26a8e0ff5"
+                                            [#uuid "1a98e86d-98c9-572e-a6e3-ea32e8b0f94f" #uuid "3e61855b-5b71-5956-88da-9cb86cc06218" #uuid "1a98e86d-98c9-572e-a6e3-ea32e8b0f94f" #uuid "3e61855b-5b71-5956-88da-9cb86cc06218"],
+                                            #uuid "2adc74af-0537-5ba6-ab82-d50f519e7869" [#uuid "0a7b6be1-6aa5-519e-8001-1a5c1b92c717"],
+                                            #uuid "2ed6f194-f62d-5393-8a09-c41b96a53df3"
+                                            [#uuid "16ee1c8e-f8f3-503a-b12b-1f551f391de2" #uuid "2fdbb1a8-dc89-59aa-8466-e93ccdf9dae0" #uuid "16ee1c8e-f8f3-503a-b12b-1f551f391de2" #uuid "2fdbb1a8-dc89-59aa-8466-e93ccdf9dae0"],
+                                            #uuid "19dc948d-f78d-5e15-b389-4909ee20e3c1"
+                                            [#uuid "21d61fa0-7343-5103-ba28-df2c74d8521f" #uuid "3d5e0ad3-8f90-592a-ade8-b2a8352511a6" #uuid "21d61fa0-7343-5103-ba28-df2c74d8521f" #uuid "3d5e0ad3-8f90-592a-ade8-b2a8352511a6"],
+                                            #uuid "3b12846b-48a3-5169-b369-61ac96b9425e" [#uuid "03ee12e5-52c2-5f92-bf10-eb9744c5f8d4"],
+                                            #uuid "21d61fa0-7343-5103-ba28-df2c74d8521f"
+                                            [#uuid "08238078-0dbf-5391-aa50-d7f5435d96e7" #uuid "2941cf92-3650-54a2-bb63-07186dc61844" #uuid "08238078-0dbf-5391-aa50-d7f5435d96e7" #uuid "2941cf92-3650-54a2-bb63-07186dc61844"],
+                                            #uuid "3bdf5912-0b1f-5b75-87d5-fe4e2a98a81b" [#uuid "3fb9529d-6142-5bd5-a915-af91d6748f24"],
+                                            #uuid "14c9da43-a2cb-5112-8d21-d777da2189f4" [#uuid "2adc74af-0537-5ba6-ab82-d50f519e7869"],
+                                            #uuid "090d9643-a944-5572-88f3-0eb7e3b1a314" [#uuid "0fe1df74-facf-5759-8725-a7109b199b9a"],
+                                            #uuid "18aa9745-a39c-5e90-8ead-7cedb716c3eb" [#uuid "27c6f1f5-f4de-5656-985e-1015baf59dbe"],
+                                            #uuid "38064367-fa19-50e9-998d-a81b358ca086" [#uuid "22cc5272-aa31-595c-b6c9-aa03a37b1bd4"],
+                                            #uuid "03ee12e5-52c2-5f92-bf10-eb9744c5f8d4" [#uuid "3890cfed-b083-52a7-960d-6cd02d74a26f"],
+                                            #uuid "0a7b6be1-6aa5-519e-8001-1a5c1b92c717" [#uuid "144f2ee9-010d-5c7d-9a72-03d893900dfb"],
+                                            #uuid "16ae7995-f3b7-529b-a8a7-b0a7bc51c8fd"
+                                            [#uuid "13534528-4d77-559e-98b7-ecfa442f5d86" #uuid "067d5fe8-0089-5813-95db-14e0c2035424" #uuid "13534528-4d77-559e-98b7-ecfa442f5d86" #uuid "067d5fe8-0089-5813-95db-14e0c2035424"],
+                                            #uuid "261b4031-5bb9-53ba-b1cf-a87d45bcaa83"
+                                            [#uuid "1510e9fd-aacd-55c7-941d-4d9130e0214e" #uuid "0fe1df74-facf-5759-8725-a7109b199b9a" #uuid "1510e9fd-aacd-55c7-941d-4d9130e0214e" #uuid "0fe1df74-facf-5759-8725-a7109b199b9a"],
+                                            #uuid "2dea9164-4057-542e-80ea-4159eab94b26"
+                                            [#uuid "21673d4d-338b-5d8a-bf8f-551e8fc67518" #uuid "11387177-601c-5ded-98b5-99691cc5b512" #uuid "21673d4d-338b-5d8a-bf8f-551e8fc67518" #uuid "11387177-601c-5ded-98b5-99691cc5b512"],
+                                            #uuid "3890cfed-b083-52a7-960d-6cd02d74a26f" [#uuid "169ecefc-a5db-5058-a5f4-bc34c719c749"],
+                                            #uuid "2307205d-51d2-59b3-a90a-5867b950d9ff" [#uuid "314edcd9-4db8-5cbb-8247-ad96c495fac9"],
+                                            #uuid "23f3a206-5035-5d07-9b35-a083afe9ec34" [#uuid "11dff09b-b3e2-5a44-ba13-30faf10e6a3c"],
+                                            #uuid "144f2ee9-010d-5c7d-9a72-03d893900dfb" [#uuid "03721b99-e947-5789-98e2-0e6302941df1"],
+                                            #uuid "3d5e0ad3-8f90-592a-ade8-b2a8352511a6"
+                                            [#uuid "3c76478b-f003-5cf9-ad19-6136ee099759" #uuid "2941cf92-3650-54a2-bb63-07186dc61844" #uuid "3c76478b-f003-5cf9-ad19-6136ee099759" #uuid "2941cf92-3650-54a2-bb63-07186dc61844"],
+                                            #uuid "0946b409-1e9d-5367-b3ea-9606af6bf7df"
+                                            [#uuid "2dea9164-4057-542e-80ea-4159eab94b26" #uuid "16ee1c8e-f8f3-503a-b12b-1f551f391de2" #uuid "2dea9164-4057-542e-80ea-4159eab94b26" #uuid "16ee1c8e-f8f3-503a-b12b-1f551f391de2"],
+                                            #uuid "20ebcafe-8544-5ed5-a58f-e8c5815b6fb9"
+                                            [#uuid "261b4031-5bb9-53ba-b1cf-a87d45bcaa83" #uuid "267044b2-7efa-50e0-bab6-f667ce5e5058" #uuid "261b4031-5bb9-53ba-b1cf-a87d45bcaa83" #uuid "267044b2-7efa-50e0-bab6-f667ce5e5058"],
+                                            #uuid "1af5f37a-1170-526e-b6aa-73406718c72c"
+                                            [#uuid "1e424294-bb25-5901-9782-8cf39b81bf4e" #uuid "059630dd-7a03-5ea6-9ca5-348620c8e29f" #uuid "1e424294-bb25-5901-9782-8cf39b81bf4e" #uuid "059630dd-7a03-5ea6-9ca5-348620c8e29f"],
+                                            #uuid "25f58a38-aa9d-5199-997b-b1c045af7059"
+                                            [#uuid "0946b409-1e9d-5367-b3ea-9606af6bf7df" #uuid "2aa5bf30-49c7-5157-81e8-c3158fe7410f" #uuid "0946b409-1e9d-5367-b3ea-9606af6bf7df" #uuid "2aa5bf30-49c7-5157-81e8-c3158fe7410f"],
+                                            #uuid "11dff09b-b3e2-5a44-ba13-30faf10e6a3c" [#uuid "3e61855b-5b71-5956-88da-9cb86cc06218"],
+                                            #uuid "2fc13656-c13e-5388-87fb-d59b54b4d4fc"
+                                            [#uuid "3c65cb46-a053-56c8-a4b2-54c13e0389e5" #uuid "1e498232-d77c-534e-988a-b766ede1e236" #uuid "3c65cb46-a053-56c8-a4b2-54c13e0389e5" #uuid "1e498232-d77c-534e-988a-b766ede1e236"],
+                                            #uuid "169ecefc-a5db-5058-a5f4-bc34c719c749" [],
+                                            #uuid "22cc5272-aa31-595c-b6c9-aa03a37b1bd4" [#uuid "1363f3ff-a092-5936-a7f3-edea64b960b9"],
+                                            #uuid "1363f3ff-a092-5936-a7f3-edea64b960b9" [#uuid "27ddb3dd-b768-5c49-878a-09979c4e9d61"],
+                                            #uuid "142d78d3-e2b7-5926-8b53-c26919ab2466"
+                                            [#uuid "02ee492f-32cb-5c74-abff-028fa8a4f129" #uuid "10418a82-fec8-57bb-b57f-65a26a8e0ff5" #uuid "02ee492f-32cb-5c74-abff-028fa8a4f129" #uuid "10418a82-fec8-57bb-b57f-65a26a8e0ff5"],
+                                            #uuid "1ff4c5fc-7f82-5f6b-8db1-9811650cb6bd"
+                                            [#uuid "1e498232-d77c-534e-988a-b766ede1e236" #uuid "090d9643-a944-5572-88f3-0eb7e3b1a314" #uuid "1e498232-d77c-534e-988a-b766ede1e236" #uuid "090d9643-a944-5572-88f3-0eb7e3b1a314"],
+                                            #uuid "1a1261d9-64ac-5ee8-b91d-c6d6f96c19bc"
+                                            [#uuid "013d990f-8a4b-560b-b396-2ac970834ac0" #uuid "11dff09b-b3e2-5a44-ba13-30faf10e6a3c" #uuid "013d990f-8a4b-560b-b396-2ac970834ac0" #uuid "11dff09b-b3e2-5a44-ba13-30faf10e6a3c"],
+                                            #uuid "1d5eadfb-050f-5674-850e-eeee9c9e88fa"
+                                            [#uuid "10418a82-fec8-57bb-b57f-65a26a8e0ff5" #uuid "11dff09b-b3e2-5a44-ba13-30faf10e6a3c" #uuid "10418a82-fec8-57bb-b57f-65a26a8e0ff5" #uuid "11dff09b-b3e2-5a44-ba13-30faf10e6a3c"],
+                                            #uuid "08238078-0dbf-5391-aa50-d7f5435d96e7"
+                                            [#uuid "16ae7995-f3b7-529b-a8a7-b0a7bc51c8fd" #uuid "3c76478b-f003-5cf9-ad19-6136ee099759" #uuid "16ae7995-f3b7-529b-a8a7-b0a7bc51c8fd" #uuid "3c76478b-f003-5cf9-ad19-6136ee099759"],
+                                            #uuid "0b577171-086e-53f6-9262-7e851ee8fd7e"
+                                            [#uuid "3b60573a-9a49-52a6-9176-6bc7bc1246f5"],
+                                            #uuid "2aa5bf30-49c7-5157-81e8-c3158fe7410f"
+                                            [#uuid "11387177-601c-5ded-98b5-99691cc5b512" #uuid "16ee1c8e-f8f3-503a-b12b-1f551f391de2" #uuid "11387177-601c-5ded-98b5-99691cc5b512" #uuid "16ee1c8e-f8f3-503a-b12b-1f551f391de2"],
+                                            #uuid "3c76478b-f003-5cf9-ad19-6136ee099759"
+                                            [#uuid "1ff4c5fc-7f82-5f6b-8db1-9811650cb6bd" #uuid "067d5fe8-0089-5813-95db-14e0c2035424" #uuid "1ff4c5fc-7f82-5f6b-8db1-9811650cb6bd" #uuid "067d5fe8-0089-5813-95db-14e0c2035424"],
+                                            #uuid "3fb9529d-6142-5bd5-a915-af91d6748f24" [#uuid "045e8240-6df3-531a-b390-c9238dc6cc7b"],
+                                            #uuid "21b919d6-0e42-5eca-b42e-89cafe1764eb" [#uuid "2fdbb1a8-dc89-59aa-8466-e93ccdf9dae0"],
+                                            #uuid "02ee492f-32cb-5c74-abff-028fa8a4f129"
+                                            [#uuid "2f3c2b3b-1377-54af-b7ab-ab511223e8fb" #uuid "2c24a78d-e400-5368-b610-ab8b06115fce" #uuid "2f3c2b3b-1377-54af-b7ab-ab511223e8fb" #uuid "2c24a78d-e400-5368-b610-ab8b06115fce"],
+                                            #uuid "314edcd9-4db8-5cbb-8247-ad96c495fac9" [#uuid "3415ac38-98c7-5348-ba8d-427ec4461de7"],
+                                            #uuid "1a98e86d-98c9-572e-a6e3-ea32e8b0f94f"
+                                            [#uuid "067d5fe8-0089-5813-95db-14e0c2035424" #uuid "2941cf92-3650-54a2-bb63-07186dc61844" #uuid "067d5fe8-0089-5813-95db-14e0c2035424" #uuid "2941cf92-3650-54a2-bb63-07186dc61844"],
+                                            #uuid "2f3c2b3b-1377-54af-b7ab-ab511223e8fb"
+                                            [#uuid "1af5f37a-1170-526e-b6aa-73406718c72c" #uuid "3e61855b-5b71-5956-88da-9cb86cc06218" #uuid "1af5f37a-1170-526e-b6aa-73406718c72c" #uuid "3e61855b-5b71-5956-88da-9cb86cc06218"],
+                                            #uuid "07aa256c-bf28-58ff-84de-0c7a0ba98557"
+                                            [#uuid "2fc13656-c13e-5388-87fb-d59b54b4d4fc" #uuid "090d9643-a944-5572-88f3-0eb7e3b1a314" #uuid "2fc13656-c13e-5388-87fb-d59b54b4d4fc" #uuid "090d9643-a944-5572-88f3-0eb7e3b1a314"],
+                                            #uuid "03a411e2-e097-516e-8c57-bba3b5b18851" [#uuid "344cadf4-366d-5115-8cdd-be8b854b48b5"],
+                                            #uuid "2fdbb1a8-dc89-59aa-8466-e93ccdf9dae0" [#uuid "0f800e2d-b036-520a-8657-eccfaaacc9ef"],
+                                            #uuid "1ccd2e84-60fb-587d-9593-236a49240c0c" [#uuid "04e824f2-d7f6-5399-89f1-8ff6438c0d3f"],
+                                            #uuid "344cadf4-366d-5115-8cdd-be8b854b48b5" [#uuid "2307205d-51d2-59b3-a90a-5867b950d9ff"],
+                                            #uuid "067d5fe8-0089-5813-95db-14e0c2035424"
+                                            [#uuid "071d505d-b198-5ed2-9417-9901737e4167" #uuid "090d9643-a944-5572-88f3-0eb7e3b1a314" #uuid "35299639-cd40-5c9a-936e-9965ffc991c7" #uuid "071d505d-b198-5ed2-9417-9901737e4167" #uuid "090d9643-a944-5572-88f3-0eb7e3b1a314" #uuid "35299639-cd40-5c9a-936e-9965ffc991c7"]},
+                             :last-update #inst "2014-04-09T22:23:23.179-00:00",
+                             :id #uuid "84473475-2c87-470e-8774-9de66e665812",
+                             :description "A bookmark app.",
+                             :schema {:type "http://github.com/ghubber/geschichte", :version 1},
+                             :head "master",
+                             :branches {"master" {:heads #{#uuid "169ecefc-a5db-5058-a5f4-bc34c719c749"}}},
+                             :public true,
+                             :pull-requests {}}) problem-meta))


Refactored make-agents-and-rng into 3 functions

--- src/clojush/pushgp/pushgp.clj
+++ src/clojush/pushgp/pushgp.clj
@@ -17,7 +17,6 @@
           ;;----------------------------------------
           :use-single-thread false ;; When true, Clojush will only use a single thread
           :random-seed (random/generate-mersennetwister-seed) ;; The seed for the random number generator
-          :save-initial-population false ;; When true, saves the initial population
           :run-uuid nil ;; This will be set to a new type 4 pseudorandom UUID on every run
           ;;
           ;;----------------------------------------
@@ -180,17 +179,45 @@
     (load-push-argmap argmap)
     (reset-globals)))

-(defn make-agents-and-rng
-  [{:keys [use-single-thread population-size random-seed
-           max-genome-size-in-initial-program atom-generators
-           save-initial-population]
+(defn agent-error-handler
+  "Given to individual agents for handling errors."
+  [agnt except]
+  ;(.printStackTrace except System/out)
+  ;(.printStackTrace except)
+  (repl/pst except 10000)
+  (System/exit 0))
+
+(defn make-pop-agents
+  "Makes the population of agents containing the initial random individuals in the population.
+   Argument is a push argmap"
+  [{:keys [use-single-thread population-size
+           max-genome-size-in-initial-program atom-generators]
     :as argmap}]
-  (let [agent-error-handler (fn [agnt except]
-                              ;(.printStackTrace except System/out)
-                              ;(.printStackTrace except)
-                              (repl/pst except 10000)
-                              (System/exit 0))
-        random-seeds (loop [seeds '()]
+  (let [population-agents (repeatedly population-size
+                                      #(make-individual
+                                         :genome (random-plush-genome max-genome-size-in-initial-program
+                                                                      atom-generators
+                                                                      argmap)
+                                         :genetic-operators :random))]
+    (mapv #(if use-single-thread
+             (atom %)
+             (agent % :error-handler agent-error-handler))
+          population-agents)))
+
+(defn make-child-agents
+  "Makes the population of agents containing the initial random individuals in the population.
+   Argument is a push argmap."
+  [{:keys [use-single-thread population-size]}]
+  (vec (repeatedly population-size
+                   #((if use-single-thread atom agent)
+                      (make-individual)
+                      :error-handler agent-error-handler))))
+
+(defn make-rng
+  "Creates the random number generators used by the agents in the population.
+   Argument is a push argmap"
+  [{:keys [population-size]}]
+  (let [random-seeds (loop [seeds '()]
                        (let [num-remaining (- population-size (count seeds))]
                          (if (pos? num-remaining)
                            (let [new-seeds (repeatedly num-remaining #(random/lrand-bytes (:mersennetwister random/*seed-length*)))]
@@ -198,25 +225,7 @@
                                                             (not (some #(random/=byte-array % candidate)
                                                                        seeds))) new-seeds)))); only add seeds that we do not already have
                            seeds)))]
-    {:pop-agents (let [pa (doall (for [_ (range population-size)]
-                                   (make-individual
-                                     :genome (random-plush-genome max-genome-size-in-initial-program
-                                                                  atom-generators
-                                                                  argmap)
-                                     :genetic-operators :random)))
-                       f (str "data/" (System/currentTimeMillis) ".ser")]
-                   (when save-initial-population
-                     (io/make-parents f)
-                     (spit f (printable (map individual-string pa))))
-                   (vec (map #(if use-single-thread
-                                (atom %)
-                                (agent % :error-handler agent-error-handler))
-                             pa)))
-     :child-agents (vec (doall (for [_ (range population-size)]
-                                 ((if use-single-thread atom agent)
-                                      (make-individual)
-                                      :error-handler agent-error-handler))))
-     :random-seeds random-seeds
+    {:random-seeds random-seeds
      :rand-gens (vec (doall (for [k (range population-size)]
                               (random/make-mersennetwister-rng (nth random-seeds k)))))
      }))
@@ -295,7 +304,9 @@
       (timer @push-argmap :initialization)
       (println "\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;")
       (println "\nGenerating initial population...")
-      (let [{:keys [pop-agents child-agents rand-gens random-seeds]} (make-agents-and-rng @push-argmap)]
+      (let [pop-agents (make-pop-agents @push-argmap)
+            child-agents (make-child-agents @push-argmap)
+            {:keys [rand-gens random-seeds]} (make-rng @push-argmap)]
         ;(print "Random seeds: ")
         ;(doseq [seed random-seeds] (print " " seed))
         ;(println)


Revert "Revert "Reverting changes to OracleStore for CMR-584""

This reverts commit 46e3fc20de41c4d0721c9ee426a08b5013d08934.

--- src/cmr/oracle/connection.clj
+++ src/cmr/oracle/connection.clj
@@ -62,8 +62,6 @@
    ;; The database pool of connections
    datasource

-   ;; The number of results to pull back simultaneously during a query
-   result-set-fetch-size
    ]

   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -92,7 +90,5 @@

 (defn create-db
   "Creates and returns the database connection pool."
-  ([spec]
-   (create-db spec 2000))
-  ([spec result-set-fetch-size]
-   (->OracleStore spec nil result-set-fetch-size)))
+  [spec]
+  (->OracleStore spec nil))


remove unneeded filter function; add needed not-fail? filter function

--- src/babel/generate.cljc
+++ src/babel/generate.cljc
@@ -63,13 +63,15 @@
           (let [comp-paths (find-comp-paths lb)]
             (zipmap comp-paths
                     (map (fn [path]
-                           (comp-path-to-bolts lb path model depth max-depth))
+                           (filter not-fail? (comp-path-to-bolts lb path model depth max-depth)))
                          comp-paths)))
           {[]
-           [lb]}))
+           (filter not-fail? [lb])}))
        (lightning-bolts model spec depth max-depth)))

 (declare nugents)
+
+;;(def foo (map #(println (fo %)) (take 10000 (nugents med spec))))

 (defn comp-path-to-bolts
   "return a lazy sequence of bolts for all possible complements that can be added to the end of the _path_ within _bolt_."
@@ -106,14 +108,10 @@
      (rest val-at-paths)
      model)))

-(defn filter-by [bolt-and-comps]
-  (and (not (empty? (get bolt-and-comps [:head :comp])))
-       (not (empty? (get bolt-and-comps [:comp])))))
-
 (defn nugents [model spec & [max-depth]]
   (log/debug (str "nugents:" (strip-refs spec)))
   (let [max-depth (or max-depth babel.generate/max-total-depth)
-        bolts-and-comps (filter filter-by (bolts-with-comps spec model 0 max-depth))
+        bolts-and-comps (bolts-with-comps spec model 0 max-depth)
         debug (str "nugents: bolts-and-comps:" (type bolts-and-comps))
         all-of-them
         (mapcat (fn [each-bolt-and-comps]
@@ -123,18 +121,15 @@
                                    each-path-through-trellis))
                          trellis)))
                 bolts-and-comps)]
-    (let [result
-          (map (fn [good-one]
-                 (do-defaults
-                  (do-assocs (get good-one [])
-                             (keys good-one)
-                             (vals good-one)
-                             model)
-                  model))
-               all-of-them)]
-      (log/trace (str "nugents: empty-ness: " (empty? result)))
-      (log/trace (str "nugents: realized-ness: " (realized? result)))
-      result)))
+    (filter not-fail?
+            (map (fn [good-one]
+                   (do-defaults
+                    (do-assocs (get good-one [])
+                               (keys good-one)
+                               (vals good-one)
+                               model)
+                    model))
+                 all-of-them))))

 (defn add-bolts-to-path [path bolts-at bolt top-bolt model depth max-depth truncate? take-n]
   (mapfn #(let [bolt (assoc-in bolt path %)]


made generation deterministic use (take take-n) within add-bolt-at

--- src/babel/generate.cljc
+++ src/babel/generate.cljc
@@ -78,7 +78,7 @@
   (when (not (= :fail bolt))
     (do
       (if (not (empty? comp-paths))
-        (log/debug (str "add-comps: " ((:morph-ps model) bolt) ": comp-paths:" (string/join "," comp-paths))))
+        (log/trace (str "add-comps: " ((:morph-ps model) bolt) ": comp-paths:" (string/join "," comp-paths))))
       (lazy-seq
        (let [top-bolt (or top-bolt bolt)
              truncate? (if (= truncate? false)
@@ -110,9 +110,9 @@
   (mapfn #(do-defaults % model)
          (let [comp-paths (find-comp-paths bolt-at)
                comp-bolts
-               (mapfn #(comp-path-to-bolts bolt-at % model (+ 1 depth) max-depth)
+               (mapfn #(take take-n (comp-path-to-bolts bolt-at % model (+ 1 depth) max-depth))
                       comp-paths)]
-           (log/debug (str "add-bolt-at:" ((:morph-ps model) bolt-at) "; comp-paths: " (string/join "," comp-paths)))
+           (log/trace (str "add-bolt-at:" ((:morph-ps model) bolt-at) "; comp-paths: " (string/join "," comp-paths)))
            (when (not (some empty? comp-bolts))
              (take take-n
                    (filter #(not (= :fail %))
@@ -121,9 +121,10 @@
                                      assoc)
                                   (filter (fn [with-comps]
                                             (do
-                                              (log/debug (str "add-bolt-at: added all comps to bolt: " ((:morph model)
-                                                                                with-comps)))
-                                              (not (nil? with-comps))))
+                                              (log/debug (str "add-bolt-at: added all comps to bolt: '" ((:morph model)
+                                                                                with-comps)
+                                                              "'"))
+                                              with-comps))
                                           (add-comps bolt-at
                                                      model
                                                      comp-paths


s/pmap/map/: pmap is not always desirable (e.g for running all.sh)

--- src/babel/generate.cljc
+++ src/babel/generate.cljc
@@ -52,13 +52,13 @@

      ;; For each bolt, create a map of complement positions
      ;; within the bolt to possible complements for that position
-     (pmap (fn [bolt] (assoc
+     (map (fn [bolt] (assoc
                        (comp-paths-to-complements bolt model depth max-depth)
                        [] (list bolt))))

      ;; For each such map:complement-position -> complements, find all possible combinations of complements, taking one complement per position.
      ;; The result is a trellis for each bolt, and a path through this trellis is a generated expression, with one complement for each complement position.
-     (pmap (fn [each-bolt-and-comps]
+     (map (fn [each-bolt-and-comps]
              (let [paths-to-comps (keys each-bolt-and-comps)
                    vals (vals each-bolt-and-comps)]
                (map (fn [each-path-through-trellis]


Bug - make sure samp names are trimmed

Bug - make sure samp names are trimmed

--- src/aerobio/htseq/wgseq.clj
+++ src/aerobio/htseq/wgseq.clj
@@ -124,14 +124,15 @@
                       slurp csv/read-csv rest)
          quads (->> compvec
                     (map (fn[[samp ref]]
-                           [(-> (fs/join samps (str samp "_*.fastq.gz"))
-                                fs/glob
-                                (->> (filter #(re-find ; glob bug!
-                                               (re-pattern
-                                                (str "/" samp)) %)))
-                                sort)
-                            (fs/join refbase (str (refxref ref) ".gbk"))
-                            (fs/join outs samp)]))
+                           (let [samp (cljstr/trim samp)]
+                             [(-> (fs/join samps (str samp "_*.fastq.gz"))
+                                  fs/glob
+                                  (->> (filter #(re-find ; glob bug!
+                                                 (re-pattern
+                                                  (str "/" samp)) %)))
+                                  sort)
+                              (fs/join refbase (str (refxref ref) ".gbk"))
+                              (fs/join outs samp)])))
                     (mapv #(vector % (fs/size (ffirst %))))
                     (sort-by second)
                     (mapv first))]


Using reduce! for get-layout-from-scene

Using reduce! for get-layout-from-scene

Signed-off-by: Daniel Borchmann <25857343a15bf1edafebc2912e82ecf775c585c1@mailbox.tu-dresden.de>

--- src/conexp/contrib/draw/scene_layouts.clj
+++ src/conexp/contrib/draw/scene_layouts.clj
@@ -7,7 +7,7 @@
 ;; You must not remove this notice, or any other, from this software.

 (ns conexp.contrib.draw.scene-layouts
-  (:use [conexp.base :only (ns-doc, illegal-argument, defvar-)]
+  (:use [conexp.base :only (ns-doc, illegal-argument, defvar-, reduce!)]
 	[conexp.layouts.base :only (make-layout, positions, connections,
                                                  nodes, update-positions, annotation)]
 	[conexp.layouts.util :only (enclosing-rectangle)]
@@ -55,10 +55,10 @@
   "Returns layout from a scene."
   [scn]
   (update-positions (get-data-from-scene scn :layout)
-		    (reduce (fn [hash node]
-			      (assoc hash (get-name node) (position node)))
-			    {}
-			    (filter node? (get-diagram-from-scene scn)))))
+		    (reduce! (fn [hash node]
+			      (assoc! hash (get-name node) (position node)))
+                             {}
+                             (filter node? (get-diagram-from-scene scn)))))

 (defn fit-scene-to-layout
   "Adjusts scene such that layout fits on it. Uses stored layout if


Make determine-org-settings-subpage lead piggiebacked plans to the overview page.

--- src-cljs/frontend/components/aside.cljs
+++ src-cljs/frontend/components/aside.cljs
@@ -209,17 +209,21 @@
    don't have a plan, then we don't want to show them the invoices page."
   [subpage plan org-name]
   (cond (#{:users :projects} subpage)
+        ;; TODO: what does this condition do that :else subpage doesn't?
         subpage

+        ;; Redirect :plan to :containers for paid plans that aren't piggiebacked.
         (and plan
              (pm/can-edit-plan? plan org-name)
              (= subpage :plan))
         :containers

+        ;; Redirect :containers, :organizations, :billing, and :cancel to the overview page
+        ;; for piggiebacked plans.
         (and plan
              (not (pm/can-edit-plan? plan org-name))
              (#{:containers :organizations :billing :cancel} subpage))
-        :plan
+        :overview

         :else subpage))


MBQL schema constraints for ints > 0 :yum:

--- src/metabase/driver/query_processor/interface.clj
+++ src/metabase/driver/query_processor/interface.clj
@@ -32,12 +32,16 @@

 ;; These are just used by the QueryExpander to record information about how joins should occur.

-(s/defrecord JoinTableField [field-id   :- s/Int
+(def IntGreaterThanZero (s/constrained s/Int
+                                       (partial < 0)
+                                       "Integer greater than zero"))
+
+(s/defrecord JoinTableField [field-id   :- IntGreaterThanZero
                              field-name :- s/Str])

 (s/defrecord JoinTable [source-field :- JoinTableField
                         pk-field     :- JoinTableField
-                        table-id     :- s/Int
+                        table-id     :- IntGreaterThanZero
                         table-name   :- s/Str])

 ;;; # ------------------------------------------------------------ PROTOCOLS ------------------------------------------------------------
@@ -51,17 +55,17 @@
 ;;; # ------------------------------------------------------------ "RESOLVED" TYPES: FIELD + VALUE ------------------------------------------------------------

 ;; Field is the expansion of a Field ID in the standard QL
-(s/defrecord Field [field-id           :- s/Int
+(s/defrecord Field [field-id           :- IntGreaterThanZero
                     field-name         :- s/Str
                     field-display-name :- s/Str
                     base-type          :- (apply s/enum field/base-types)
                     special-type       :- (s/maybe (apply s/enum field/special-types))
-                    table-id           :- s/Int
+                    table-id           :- IntGreaterThanZero
                     schema-name        :- (s/maybe s/Str)
                     table-name         :- s/Str
-                    position           :- (s/maybe s/Int)
+                    position           :- (s/maybe s/Int) ; TODO - int >= 0
                     description        :- (s/maybe s/Str)
-                    parent-id          :- (s/maybe s/Int)
+                    parent-id          :- (s/maybe IntGreaterThanZero)
                     ;; Field once its resolved; FieldPlaceholder before that
                     parent             :- s/Any]
   IField
@@ -112,13 +116,15 @@
 ;;; # ------------------------------------------------------------ PLACEHOLDER TYPES: FIELDPLACEHOLDER + VALUEPLACEHOLDER ------------------------------------------------------------

 ;; Replace Field IDs with these during first pass
-(s/defrecord FieldPlaceholder [field-id      :- s/Int
-                               fk-field-id   :- (s/maybe (s/constrained s/Int
+(s/defrecord FieldPlaceholder [field-id      :- IntGreaterThanZero
+                               fk-field-id   :- (s/maybe (s/constrained IntGreaterThanZero
                                                                         (fn [_] (or (assert-driver-supports :foreign-keys) true))
                                                                         "foreign-keys is not supported by this driver."))
                                datetime-unit :- (s/maybe (apply s/enum datetime-field-units))])

-(s/defrecord AgFieldRef [index :- s/Int]) ; e.g. 0
+(s/defrecord AgFieldRef [index :- (s/constrained s/Int
+                                                 zero?
+                                                 "Ag field index should be 0 -- MBQL currently only supports a single aggregation")])

 (def FieldPlaceholderOrAgRef (s/named (s/cond-pre FieldPlaceholder AgFieldRef) "Valid field (not a field ID or aggregate field reference)"))

@@ -192,8 +198,8 @@
                       "Valid order-by subclause"))

-(def Page (s/named {:page  s/Int
-                    :items s/Int}
+(def Page (s/named {:page  IntGreaterThanZero
+                    :items IntGreaterThanZero}
                    "Valid page clause"))

@@ -202,7 +208,7 @@
    (s/optional-key :breakout)    [FieldPlaceholder]
    (s/optional-key :fields)      [FieldPlaceholderOrAgRef]
    (s/optional-key :filter)      Filter
-   (s/optional-key :limit)       s/Int
+   (s/optional-key :limit)       IntGreaterThanZero
    (s/optional-key :order-by)    [OrderBy]
    (s/optional-key :page)        Page
-   :source-table                 s/Int})
+   :source-table                 IntGreaterThanZero})