{
  "title": "Blacklight Inspection",
  "page_title": "Learning Through Failure",
  "uri_ins": "http://aaronlevin.ca/",
  "uri_dest": "https://aaronlevin.ca/",
  "uri_redirects": [
    "http://aaronlevin.ca/"
  ],
  "secure_connection": {},
  "host": "aaronlevin.ca",
  "config": {
    "emulateDevice": {
      "name": "Pixel 4a (5G)",
      "userAgent": "Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4812.0 Mobile Safari/537.36",
      "viewport": {
        "width": 353,
        "height": 745,
        "deviceScaleFactor": 3,
        "isMobile": true,
        "hasTouch": true,
        "isLandscape": false
      }
    },
    "cleareCache": true,
    "captureHar": true,
    "captureLinks": false,
    "enableAdBlock": false,
    "saveBrowserProfile": false,
    "numPages": 2,
    "defaultTimeout": 35000,
    "defaultWaitUntil": "networkidle2",
    "headless": true,
    "headers": {},
    "extraChromiumArgs": [
      "--disable-features=TrackingProtection3pcd",
      "--website-analysis-scan=13021e8d-89d1-49a1-904e-125d75336ded"
    ],
    "extraPuppeteerOptions": {}
  },
  "browser": {
    "name": "Chromium",
    "version": "Chrome/127.0.6533.88",
    "user_agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/127.0.0.0 Safari/537.36",
    "platform": {
      "name": "Linux",
      "version": "6.6.87.1-microsoft-standard-WSL2"
    }
  },
  "script": {
    "host": "4ca80e837103",
    "version": {
      "npm": "3.11.0",
      "commit": "dev"
    },
    "node_version": "v24.20.0"
  },
  "start_time": "2026-09-07T10:37:44.134Z",
  "end_time": "2026-09-07T10:38:00.970Z",
  "browsing_history": [
    "https://aaronlevin.ca/",
    "https://aaronlevin.ca/post/122079863187/reasoning-about-errors-in-free-monads-and-their",
    "https://aaronlevin.ca/tagged/dependent-types"
  ],
  "hosts": {
    "requests": {
      "first_party": [
        "aaronlevin.ca"
      ],
      "third_party": [
        "assets.tumblr.com",
        "s0.wp.com",
        "64.media.tumblr.com",
        "waxidermy.com",
        "static.tumblr.com",
        "securepubads.g.doubleclick.net",
        "px.srvcs.tumblr.com",
        "www.tumblr.com",
        "pixel.wp.com",
        "sb.scorecardresearch.com",
        "pagead2.googlesyndication.com"
      ]
    }
  },
  "reports": {
    "behaviour_event_listeners": {
      "KEYBOARD": {
        "https://assets.tumblr.com/client/prod/standalone/tumblelog/index.build.js?_v=1ba6c357e857b5c4be7fca41bb39029a": [
          "keyup",
          "keydown"
        ],
        "https://assets.tumblr.com/default-theme/r1/main-min.js": [
          "keydown"
        ],
        "https://s0.wp.com/wp-content/js/bilmur.min.js?m=202637": [
          "keydown"
        ],
        "https://assets.tumblr.com/assets/scripts/pre_tumblelog.js?_v=b9f848c06fcba7eaf305d4a7cb7a1b98": [
          "keypress"
        ]
      },
      "MOUSE": {
        "https://assets.tumblr.com/client/prod/standalone/tumblelog/index.build.js?_v=1ba6c357e857b5c4be7fca41bb39029a": [
          "scroll"
        ],
        "https://assets.tumblr.com/default-theme/r1/main-min.js": [
          "click",
          "scroll"
        ],
        "https://s0.wp.com/wp-content/js/bilmur.min.js?m=202637": [
          "click"
        ]
      },
      "SENSOR": {
        "https://assets.tumblr.com/client/prod/standalone/tumblelog/index.build.js?_v=1ba6c357e857b5c4be7fca41bb39029a": [
          "orientationchange"
        ],
        "https://assets.tumblr.com/default-theme/r1/main-min.js": [
          "orientationchange"
        ]
      }
    },
    "canvas_fingerprinters": {
      "data_url": {},
      "fingerprinters": [],
      "styles": {
        "https://assets.tumblr.com/client/prod/standalone/tumblelog/index.build.js?_v=1ba6c357e857b5c4be7fca41bb39029a": [
          "rgba(0,0,0,0.2)",
          "#FAFAFA"
        ]
      },
      "texts": {}
    },
    "canvas_font_fingerprinters": {
      "canvas_font": {},
      "text_measure": {}
    },
    "cookies": [],
    "fb_pixel_events": [],
    "tiktok_pixel_events": [],
    "twitter_pixel_events": [],
    "google_analytics_events": [],
    "key_logging": {},
    "session_recorders": {},
    "third_party_trackers": [
      {
        "data": {
          "body": {},
          "filter": "||pixel.wp.com^",
          "listName": "easyprivacy.txt",
          "query": {
            "_ts": 1788777475004,
            "rand": 6847964,
            "ref": "https://www.tumblr.com/dashboard/iframe/consent",
            "tid": 3,
            "v": "tumblr"
          }
        },
        "stack": [
          {
            "fileName": "https://www.tumblr.com/dashboard/iframe/consent",
            "source": "ThirdPartyTracker RequestHandler"
          }
        ],
        "type": "TrackingRequest",
        "url": "https://pixel.wp.com/g.gif?v=tumblr&tid=3&rand=6847964&_ts=1788777475004&ref=https%3A%2F%2Fwww.tumblr.com%2Fdashboard%2Fiframe%2Fconsent"
      },
      {
        "data": {
          "body": {},
          "filter": "||doubleclick.net^",
          "listName": "easylist.txt",
          "query": {}
        },
        "stack": [
          {
            "fileName": "https://aaronlevin.ca/tagged/dependent-types",
            "source": "ThirdPartyTracker RequestHandler"
          }
        ],
        "type": "TrackingRequest",
        "url": "https://securepubads.g.doubleclick.net/pagead/managed/dict/m202609030101/gpt"
      },
      {
        "data": {
          "body": {},
          "filter": "||pixel.wp.com^",
          "listName": "easyprivacy.txt",
          "query": {
            "_ts": 1788777474871,
            "rand": 5154192,
            "ref": "https://aaronlevin.ca/tagged/dependent-types",
            "tid": 3,
            "v": "tumblr"
          }
        },
        "stack": [
          {
            "fileName": "about:blank",
            "source": "ThirdPartyTracker RequestHandler"
          }
        ],
        "type": "TrackingRequest",
        "url": "https://pixel.wp.com/g.gif?v=tumblr&tid=3&rand=5154192&_ts=1788777474871&ref=https%3A%2F%2Faaronlevin.ca%2Ftagged%2Fdependent-types"
      },
      {
        "data": {
          "body": {},
          "filter": "||scorecardresearch.com^$third-party",
          "listName": "easyprivacy.txt",
          "query": {
            "c1": 2,
            "c2": 15742520,
            "c4": "https://aaronlevin.ca/tagged/dependent-types",
            "ns__t": 1788777474889,
            "ns_c": "UTF-8"
          }
        },
        "stack": [
          {
            "fileName": "https://assets.tumblr.com/analytics.html?_v=9f5febfd57a8a649c598d888f2d9e062#https://aaronlevin.ca",
            "source": "ThirdPartyTracker RequestHandler"
          }
        ],
        "type": "TrackingRequest",
        "url": "https://sb.scorecardresearch.com/b?c1=2&c2=15742520&c4=https%3A%2F%2Faaronlevin.ca%2Ftagged%2Fdependent-types&ns__t=1788777474889&ns_c=UTF-8"
      },
      {
        "data": {
          "body": {},
          "filter": "||scorecardresearch.com^$third-party",
          "listName": "easyprivacy.txt",
          "query": {
            "c1": 7,
            "c2": 15742520,
            "c4": "https://aaronlevin.ca/tagged/dependent-types",
            "ns__t": 1788777474888,
            "ns_c": "UTF-8"
          }
        },
        "stack": [
          {
            "fileName": "https://assets.tumblr.com/analytics.html?_v=9f5febfd57a8a649c598d888f2d9e062#https://aaronlevin.ca",
            "source": "ThirdPartyTracker RequestHandler"
          }
        ],
        "type": "TrackingRequest",
        "url": "https://sb.scorecardresearch.com/b?c1=7&c2=15742520&c4=https%3A%2F%2Faaronlevin.ca%2Ftagged%2Fdependent-types&ns__t=1788777474888&ns_c=UTF-8"
      },
      {
        "data": {
          "body": {},
          "filter": "||scorecardresearch.com^$third-party",
          "listName": "easyprivacy.txt",
          "query": {}
        },
        "stack": [
          {
            "fileName": "https://assets.tumblr.com/analytics.html?_v=9f5febfd57a8a649c598d888f2d9e062#https://aaronlevin.ca",
            "source": "ThirdPartyTracker RequestHandler"
          }
        ],
        "type": "TrackingRequest",
        "url": "https://sb.scorecardresearch.com/internal-c2/15742520/cs.js"
      },
      {
        "data": {
          "body": {},
          "filter": "||doubleclick.net^",
          "listName": "easylist.txt",
          "query": {
            "ippd": "aaronlevin.ca"
          }
        },
        "stack": [
          {
            "fileName": "https://aaronlevin.ca/tagged/dependent-types",
            "source": "ThirdPartyTracker RequestHandler"
          }
        ],
        "type": "TrackingRequest",
        "url": "https://securepubads.g.doubleclick.net/pagead/ppub_config?ippd=aaronlevin.ca"
      },
      {
        "data": {
          "body": {},
          "filter": "||doubleclick.net^",
          "listName": "easylist.txt",
          "query": {}
        },
        "stack": [
          {
            "fileName": "https://aaronlevin.ca/tagged/dependent-types",
            "source": "ThirdPartyTracker RequestHandler"
          }
        ],
        "type": "TrackingRequest",
        "url": "https://securepubads.g.doubleclick.net/pagead/managed/js/gpt/m202609010101/pubads_impl.js"
      },
      {
        "data": {
          "body": {},
          "filter": "||scorecardresearch.com^$third-party",
          "listName": "easyprivacy.txt",
          "query": {}
        },
        "stack": [
          {
            "fileName": "https://assets.tumblr.com/analytics.html?_v=9f5febfd57a8a649c598d888f2d9e062#https://aaronlevin.ca",
            "source": "ThirdPartyTracker RequestHandler"
          }
        ],
        "type": "TrackingRequest",
        "url": "https://sb.scorecardresearch.com/c2/15742520/cs.js"
      },
      {
        "data": {
          "body": {},
          "filter": "||pixel.wp.com^",
          "listName": "easyprivacy.txt",
          "query": {
            "_ts": 1788777474811,
            "rand": 5841769,
            "ref": "https://aaronlevin.ca/tagged/dependent-types",
            "tid": 3,
            "v": "tumblr"
          }
        },
        "stack": [
          {
            "fileName": "https://aaronlevin.ca/tagged/dependent-types",
            "source": "ThirdPartyTracker RequestHandler"
          }
        ],
        "type": "TrackingRequest",
        "url": "https://pixel.wp.com/g.gif?v=tumblr&tid=3&rand=5841769&_ts=1788777474811&ref=https%3A%2F%2Faaronlevin.ca%2Ftagged%2Fdependent-types"
      },
      {
        "data": {
          "body": {},
          "filter": "||px.srvcs.tumblr.com^",
          "listName": "easyprivacy.txt",
          "query": {
            "J": "eyJ0eXBlIjoicG9zdCIsInVybCI6Imh0dHA6Ly9hYXJvbmxldmluLmNhL3RhZ2dlZC9kZXBlbmRlbnQtdHlwZXMiLCJyZXF0eXBlIjowLCJyb3V0ZSI6Ii90YWdnZWQvOnRhZyIsInBvc3RzIjpbeyJwb3N0aWQiOiIxMDY3MjE0MTMwMzMiLCJibG9naWQiOjE4MTIzMzYzNywic291cmNlIjozM31dfQ==",
            "K": "8faf2646bd6ec00b35ce09a68580a6aed1934deb87ff6161de05a680a67ea66f",
            "R": "",
            "T": 1788777474,
            "U": "KLHKCCMNPI"
          }
        },
        "stack": [
          {
            "fileName": "https://aaronlevin.ca/tagged/dependent-types",
            "source": "ThirdPartyTracker RequestHandler"
          }
        ],
        "type": "TrackingRequest",
        "url": "https://px.srvcs.tumblr.com/impixu?T=1788777474&J=eyJ0eXBlIjoicG9zdCIsInVybCI6Imh0dHA6Ly9hYXJvbmxldmluLmNhL3RhZ2dlZC9kZXBlbmRlbnQtdHlwZXMiLCJyZXF0eXBlIjowLCJyb3V0ZSI6Ii90YWdnZWQvOnRhZyIsInBvc3RzIjpbeyJwb3N0aWQiOiIxMDY3MjE0MTMwMzMiLCJibG9naWQiOjE4MTIzMzYzNywic291cmNlIjozM31dfQ==&U=KLHKCCMNPI&K=8faf2646bd6ec00b35ce09a68580a6aed1934deb87ff6161de05a680a67ea66f&R="
      },
      {
        "data": {
          "body": {},
          "filter": "||px.srvcs.tumblr.com^",
          "listName": "easyprivacy.txt",
          "query": {
            "J": "eyJ0eXBlIjoidXJsIiwidXJsIjoiaHR0cDovL2Fhcm9ubGV2aW4uY2EvdGFnZ2VkL2RlcGVuZGVudC10eXBlcyIsInJlcXR5cGUiOjAsInJvdXRlIjoiL3RhZ2dlZC86dGFnIn0=",
            "K": "9943ccda1fbf1eb86790f1b1cae63630d9016eef59e824f1216858ea25995111",
            "R": "",
            "T": 1788777474,
            "U": "JBMAELBOBI"
          }
        },
        "stack": [
          {
            "fileName": "https://aaronlevin.ca/tagged/dependent-types",
            "source": "ThirdPartyTracker RequestHandler"
          }
        ],
        "type": "TrackingRequest",
        "url": "https://px.srvcs.tumblr.com/impixu?T=1788777474&J=eyJ0eXBlIjoidXJsIiwidXJsIjoiaHR0cDovL2Fhcm9ubGV2aW4uY2EvdGFnZ2VkL2RlcGVuZGVudC10eXBlcyIsInJlcXR5cGUiOjAsInJvdXRlIjoiL3RhZ2dlZC86dGFnIn0=&U=JBMAELBOBI&K=9943ccda1fbf1eb86790f1b1cae63630d9016eef59e824f1216858ea25995111&R="
      },
      {
        "data": {
          "body": {},
          "filter": "/analytics.html?",
          "listName": "easyprivacy.txt",
          "query": {
            "_v": "9f5febfd57a8a649c598d888f2d9e062"
          }
        },
        "stack": [
          {
            "fileName": "about:blank",
            "source": "ThirdPartyTracker RequestHandler"
          }
        ],
        "type": "TrackingRequest",
        "url": "https://assets.tumblr.com/analytics.html?_v=9f5febfd57a8a649c598d888f2d9e062"
      },
      {
        "data": {
          "body": {},
          "filter": "||doubleclick.net^",
          "listName": "easylist.txt",
          "query": {}
        },
        "stack": [
          {
            "fileName": "https://aaronlevin.ca/tagged/dependent-types",
            "source": "ThirdPartyTracker RequestHandler"
          }
        ],
        "type": "TrackingRequest",
        "url": "https://securepubads.g.doubleclick.net/tag/js/gpt.js"
      },
      {
        "data": {
          "body": {},
          "filter": "||wp.com/wp-content/js/bilmur.min.js",
          "listName": "easyprivacy.txt",
          "query": {
            "m": 202637
          }
        },
        "stack": [
          {
            "fileName": "https://aaronlevin.ca/tagged/dependent-types",
            "source": "ThirdPartyTracker RequestHandler"
          }
        ],
        "type": "TrackingRequest",
        "url": "https://s0.wp.com/wp-content/js/bilmur.min.js?m=202637"
      },
      {
        "data": {
          "body": {},
          "filter": "||pixel.wp.com^",
          "listName": "easyprivacy.txt",
          "query": {
            "batcache_hit": 0,
            "bilmur": 1,
            "cls": 0.043,
            "custom_props": {
              "theme": ""
            },
            "downlink": 10000,
            "fcp": 481,
            "fcp_raw": 481,
            "fp_raw": 481,
            "full_path": "/post/122079863187/reasoning-about-errors-in-free-monads-and-their",
            "lcp": 481,
            "lcp_raw": 481,
            "lcp_sel": "div.clearfix.post-wrapper>section.post>div.post-content>div.body-text.e-content>p",
            "lcp_type": "text",
            "nav_type": "navigate",
            "nt": "2--c5_c5___3_3_3_3_3_3_4_c2_cj_c7_e8_eb_eh_ln_ln_ln--0_0_0_--h2",
            "provider": "tumblr.com",
            "reporter": "fetchLater",
            "rtt": 0,
            "service": "blognetwork",
            "site_host": "aaronlevin.ca",
            "site_path": "/post/122079863187/reasoning-about-errors-in-free-monads-and-their",
            "ttfb": 434,
            "version": "4.5.0"
          }
        },
        "stack": [
          {
            "fileName": "https://aaronlevin.ca/post/122079863187/reasoning-about-errors-in-free-monads-and-their",
            "source": "ThirdPartyTracker RequestHandler"
          }
        ],
        "type": "TrackingRequest",
        "url": "https://pixel.wp.com/boom.gif?bilmur=1&batcache_hit=0&provider=tumblr.com&service=blognetwork&custom_props=%7B%22theme%22%3A%22%22%7D&rtt=0&downlink=10000&site_host=aaronlevin.ca&site_path=%2Fpost%2F122079863187%2Freasoning-about-errors-in-free-monads-and-their&full_path=%2Fpost%2F122079863187%2Freasoning-about-errors-in-free-monads-and-their&version=4.5.0&nt=2--c5_c5___3_3_3_3_3_3_4_c2_cj_c7_e8_eb_eh_ln_ln_ln--0_0_0_--h2&reporter=fetchLater&fcp=481&fcp_raw=481&fp_raw=481&lcp=481&lcp_raw=481&lcp_sel=div.clearfix.post-wrapper%3Esection.post%3Ediv.post-content%3Ediv.body-text.e-content%3Ep&lcp_type=text&cls=0.043&ttfb=434&nav_type=navigate"
      },
      {
        "data": {
          "body": {},
          "filter": "||pixel.wp.com^",
          "listName": "easyprivacy.txt",
          "query": {
            "_ts": 1788777468877,
            "rand": 1262318,
            "ref": "https://www.tumblr.com/dashboard/iframe/consent",
            "tid": 3,
            "v": "tumblr"
          }
        },
        "stack": [
          {
            "fileName": "https://www.tumblr.com/dashboard/iframe/consent",
            "source": "ThirdPartyTracker RequestHandler"
          }
        ],
        "type": "TrackingRequest",
        "url": "https://pixel.wp.com/g.gif?v=tumblr&tid=3&rand=1262318&_ts=1788777468877&ref=https%3A%2F%2Fwww.tumblr.com%2Fdashboard%2Fiframe%2Fconsent"
      },
      {
        "data": {
          "body": {},
          "filter": "||pixel.wp.com^",
          "listName": "easyprivacy.txt",
          "query": {
            "_ts": 1788777468741,
            "rand": 3387814,
            "ref": "https://aaronlevin.ca/post/122079863187/reasoning-about-errors-in-free-monads-and-their",
            "tid": 3,
            "v": "tumblr"
          }
        },
        "stack": [
          {
            "fileName": "about:blank",
            "source": "ThirdPartyTracker RequestHandler"
          }
        ],
        "type": "TrackingRequest",
        "url": "https://pixel.wp.com/g.gif?v=tumblr&tid=3&rand=3387814&_ts=1788777468741&ref=https%3A%2F%2Faaronlevin.ca%2Fpost%2F122079863187%2Freasoning-about-errors-in-free-monads-and-their"
      },
      {
        "data": {
          "body": {},
          "filter": "||scorecardresearch.com^$third-party",
          "listName": "easyprivacy.txt",
          "query": {
            "c1": 2,
            "c2": 15742520,
            "c4": "https://aaronlevin.ca/post/122079863187/reasoning-about-errors-in-free-monads-and-their",
            "ns__t": 1788777468523,
            "ns_c": "UTF-8"
          }
        },
        "stack": [
          {
            "fileName": "https://assets.tumblr.com/analytics.html?_v=9f5febfd57a8a649c598d888f2d9e062#https://aaronlevin.ca",
            "source": "ThirdPartyTracker RequestHandler"
          }
        ],
        "type": "TrackingRequest",
        "url": "https://sb.scorecardresearch.com/b?c1=2&c2=15742520&c4=https%3A%2F%2Faaronlevin.ca%2Fpost%2F122079863187%2Freasoning-about-errors-in-free-monads-and-their&ns__t=1788777468523&ns_c=UTF-8"
      },
      {
        "data": {
          "body": {},
          "filter": "||scorecardresearch.com^$third-party",
          "listName": "easyprivacy.txt",
          "query": {
            "c1": 7,
            "c2": 15742520,
            "c4": "https://aaronlevin.ca/post/122079863187/reasoning-about-errors-in-free-monads-and-their",
            "ns__t": 1788777468523,
            "ns_c": "UTF-8"
          }
        },
        "stack": [
          {
            "fileName": "https://assets.tumblr.com/analytics.html?_v=9f5febfd57a8a649c598d888f2d9e062#https://aaronlevin.ca",
            "source": "ThirdPartyTracker RequestHandler"
          }
        ],
        "type": "TrackingRequest",
        "url": "https://sb.scorecardresearch.com/b?c1=7&c2=15742520&c4=https%3A%2F%2Faaronlevin.ca%2Fpost%2F122079863187%2Freasoning-about-errors-in-free-monads-and-their&ns__t=1788777468523&ns_c=UTF-8"
      },
      {
        "data": {
          "body": {},
          "filter": "||scorecardresearch.com^$third-party",
          "listName": "easyprivacy.txt",
          "query": {}
        },
        "stack": [
          {
            "fileName": "https://assets.tumblr.com/analytics.html?_v=9f5febfd57a8a649c598d888f2d9e062#https://aaronlevin.ca",
            "source": "ThirdPartyTracker RequestHandler"
          }
        ],
        "type": "TrackingRequest",
        "url": "https://sb.scorecardresearch.com/internal-c2/15742520/cs.js"
      },
      {
        "data": {
          "body": {},
          "filter": "||doubleclick.net^",
          "listName": "easylist.txt",
          "query": {}
        },
        "stack": [
          {
            "fileName": "https://aaronlevin.ca/post/122079863187/reasoning-about-errors-in-free-monads-and-their",
            "source": "ThirdPartyTracker RequestHandler"
          }
        ],
        "type": "TrackingRequest",
        "url": "https://securepubads.g.doubleclick.net/pagead/managed/dict/m202609030101/gpt"
      },
      {
        "data": {
          "body": {},
          "filter": "||doubleclick.net^",
          "listName": "easylist.txt",
          "query": {
            "ippd": "aaronlevin.ca"
          }
        },
        "stack": [
          {
            "fileName": "https://aaronlevin.ca/post/122079863187/reasoning-about-errors-in-free-monads-and-their",
            "source": "ThirdPartyTracker RequestHandler"
          }
        ],
        "type": "TrackingRequest",
        "url": "https://securepubads.g.doubleclick.net/pagead/ppub_config?ippd=aaronlevin.ca"
      },
      {
        "data": {
          "body": {},
          "filter": "||doubleclick.net^",
          "listName": "easylist.txt",
          "query": {}
        },
        "stack": [
          {
            "fileName": "https://aaronlevin.ca/post/122079863187/reasoning-about-errors-in-free-monads-and-their",
            "source": "ThirdPartyTracker RequestHandler"
          }
        ],
        "type": "TrackingRequest",
        "url": "https://securepubads.g.doubleclick.net/pagead/managed/js/gpt/m202609010101/pubads_impl.js"
      },
      {
        "data": {
          "body": {},
          "filter": "||scorecardresearch.com^$third-party",
          "listName": "easyprivacy.txt",
          "query": {}
        },
        "stack": [
          {
            "fileName": "https://assets.tumblr.com/analytics.html?_v=9f5febfd57a8a649c598d888f2d9e062#https://aaronlevin.ca",
            "source": "ThirdPartyTracker RequestHandler"
          }
        ],
        "type": "TrackingRequest",
        "url": "https://sb.scorecardresearch.com/c2/15742520/cs.js"
      },
      {
        "data": {
          "body": {},
          "filter": "||pixel.wp.com^",
          "listName": "easyprivacy.txt",
          "query": {
            "_ts": 1788777468447,
            "rand": 5313366,
            "ref": "https://aaronlevin.ca/post/122079863187/reasoning-about-errors-in-free-monads-and-their",
            "tid": 3,
            "v": "tumblr"
          }
        },
        "stack": [
          {
            "fileName": "https://aaronlevin.ca/post/122079863187/reasoning-about-errors-in-free-monads-and-their",
            "source": "ThirdPartyTracker RequestHandler"
          }
        ],
        "type": "TrackingRequest",
        "url": "https://pixel.wp.com/g.gif?v=tumblr&tid=3&rand=5313366&_ts=1788777468447&ref=https%3A%2F%2Faaronlevin.ca%2Fpost%2F122079863187%2Freasoning-about-errors-in-free-monads-and-their"
      },
      {
        "data": {
          "body": {},
          "filter": "||px.srvcs.tumblr.com^",
          "listName": "easyprivacy.txt",
          "query": {
            "J": "eyJ0eXBlIjoicG9zdCIsInVybCI6Imh0dHA6Ly9hYXJvbmxldmluLmNhL3Bvc3QvMTIyMDc5ODYzMTg3L3JlYXNvbmluZy1hYm91dC1lcnJvcnMtaW4tZnJlZS1tb25hZHMtYW5kLXRoZWlyIiwicmVxdHlwZSI6MCwicm91dGUiOiIvcG9zdC86aWQvOnN1bW1hcnkiLCJwb3N0cyI6W3sicG9zdGlkIjoiMTIyMDc5ODYzMTg3IiwiYmxvZ2lkIjoxODEyMzM2MzcsInNvdXJjZSI6MzN9XX0=",
            "K": "78c30a188e1eee4969b1eef2b3f5f92a5d9d0a2be1d759d6a8e7ae06f952c179",
            "R": "",
            "T": 1788777468,
            "U": "MBHILPEFFK"
          }
        },
        "stack": [
          {
            "fileName": "https://aaronlevin.ca/post/122079863187/reasoning-about-errors-in-free-monads-and-their",
            "source": "ThirdPartyTracker RequestHandler"
          }
        ],
        "type": "TrackingRequest",
        "url": "https://px.srvcs.tumblr.com/impixu?T=1788777468&J=eyJ0eXBlIjoicG9zdCIsInVybCI6Imh0dHA6Ly9hYXJvbmxldmluLmNhL3Bvc3QvMTIyMDc5ODYzMTg3L3JlYXNvbmluZy1hYm91dC1lcnJvcnMtaW4tZnJlZS1tb25hZHMtYW5kLXRoZWlyIiwicmVxdHlwZSI6MCwicm91dGUiOiIvcG9zdC86aWQvOnN1bW1hcnkiLCJwb3N0cyI6W3sicG9zdGlkIjoiMTIyMDc5ODYzMTg3IiwiYmxvZ2lkIjoxODEyMzM2MzcsInNvdXJjZSI6MzN9XX0=&U=MBHILPEFFK&K=78c30a188e1eee4969b1eef2b3f5f92a5d9d0a2be1d759d6a8e7ae06f952c179&R="
      },
      {
        "data": {
          "body": {},
          "filter": "||px.srvcs.tumblr.com^",
          "listName": "easyprivacy.txt",
          "query": {
            "J": "eyJ0eXBlIjoidXJsIiwidXJsIjoiaHR0cDovL2Fhcm9ubGV2aW4uY2EvcG9zdC8xMjIwNzk4NjMxODcvcmVhc29uaW5nLWFib3V0LWVycm9ycy1pbi1mcmVlLW1vbmFkcy1hbmQtdGhlaXIiLCJyZXF0eXBlIjowLCJyb3V0ZSI6Ii9wb3N0LzppZC86c3VtbWFyeSJ9",
            "K": "5793c394fa310aa1e6c075f8decdcb889971f256f650236a15c1d52cff37eb60",
            "R": "",
            "T": 1788777468,
            "U": "DNOAOMMGOF"
          }
        },
        "stack": [
          {
            "fileName": "https://aaronlevin.ca/post/122079863187/reasoning-about-errors-in-free-monads-and-their",
            "source": "ThirdPartyTracker RequestHandler"
          }
        ],
        "type": "TrackingRequest",
        "url": "https://px.srvcs.tumblr.com/impixu?T=1788777468&J=eyJ0eXBlIjoidXJsIiwidXJsIjoiaHR0cDovL2Fhcm9ubGV2aW4uY2EvcG9zdC8xMjIwNzk4NjMxODcvcmVhc29uaW5nLWFib3V0LWVycm9ycy1pbi1mcmVlLW1vbmFkcy1hbmQtdGhlaXIiLCJyZXF0eXBlIjowLCJyb3V0ZSI6Ii9wb3N0LzppZC86c3VtbWFyeSJ9&U=DNOAOMMGOF&K=5793c394fa310aa1e6c075f8decdcb889971f256f650236a15c1d52cff37eb60&R="
      },
      {
        "data": {
          "body": {},
          "filter": "/analytics.html?",
          "listName": "easyprivacy.txt",
          "query": {
            "_v": "9f5febfd57a8a649c598d888f2d9e062"
          }
        },
        "stack": [
          {
            "fileName": "about:blank",
            "source": "ThirdPartyTracker RequestHandler"
          }
        ],
        "type": "TrackingRequest",
        "url": "https://assets.tumblr.com/analytics.html?_v=9f5febfd57a8a649c598d888f2d9e062"
      },
      {
        "data": {
          "body": {},
          "filter": "||doubleclick.net^",
          "listName": "easylist.txt",
          "query": {}
        },
        "stack": [
          {
            "fileName": "https://aaronlevin.ca/post/122079863187/reasoning-about-errors-in-free-monads-and-their",
            "source": "ThirdPartyTracker RequestHandler"
          }
        ],
        "type": "TrackingRequest",
        "url": "https://securepubads.g.doubleclick.net/tag/js/gpt.js"
      },
      {
        "data": {
          "body": {},
          "filter": "||wp.com/wp-content/js/bilmur.min.js",
          "listName": "easyprivacy.txt",
          "query": {
            "m": 202637
          }
        },
        "stack": [
          {
            "fileName": "https://aaronlevin.ca/post/122079863187/reasoning-about-errors-in-free-monads-and-their",
            "source": "ThirdPartyTracker RequestHandler"
          }
        ],
        "type": "TrackingRequest",
        "url": "https://s0.wp.com/wp-content/js/bilmur.min.js?m=202637"
      },
      {
        "data": {
          "body": {},
          "filter": "||pixel.wp.com^",
          "listName": "easyprivacy.txt",
          "query": {
            "batcache_hit": 0,
            "bilmur": 1,
            "cls": 0.043,
            "custom_props": {
              "theme": ""
            },
            "downlink": 10000,
            "fcp": 814,
            "fcp_raw": 814,
            "fp_raw": 814,
            "full_path": "/",
            "lcp": 814,
            "lcp_raw": 814,
            "lcp_sel": "div.clearfix.h-entry.post-wrapper>section.post>div.post-content>div.body-text.e-content>p",
            "lcp_type": "text",
            "nav_type": "navigate",
            "nt": "2--____2_m_m_m_5q_30_5q_j8_nw_jg_r3_r7_rj_15s_15s_15t--0_0_0_--h2",
            "provider": "tumblr.com",
            "reporter": "fetchLater",
            "rtt": 0,
            "service": "blognetwork",
            "site_host": "aaronlevin.ca",
            "site_path": "/",
            "ttfb": 691,
            "version": "4.5.0"
          }
        },
        "stack": [
          {
            "fileName": "https://aaronlevin.ca/",
            "source": "ThirdPartyTracker RequestHandler"
          }
        ],
        "type": "TrackingRequest",
        "url": "https://pixel.wp.com/boom.gif?bilmur=1&batcache_hit=0&provider=tumblr.com&service=blognetwork&custom_props=%7B%22theme%22%3A%22%22%7D&rtt=0&downlink=10000&site_host=aaronlevin.ca&site_path=%2F&full_path=%2F&version=4.5.0&nt=2--____2_m_m_m_5q_30_5q_j8_nw_jg_r3_r7_rj_15s_15s_15t--0_0_0_--h2&reporter=fetchLater&fcp=814&fcp_raw=814&fp_raw=814&lcp=814&lcp_raw=814&lcp_sel=div.clearfix.h-entry.post-wrapper%3Esection.post%3Ediv.post-content%3Ediv.body-text.e-content%3Ep&lcp_type=text&cls=0.043&ttfb=691&nav_type=navigate"
      },
      {
        "data": {
          "body": [
            [],
            [
              4,
              "m202609020101",
              [
                122880507,
                122880887,
                95401386,
                122880853
              ]
            ],
            [
              [
                {
                  "1": [
                    "ewzMSe",
                    null,
                    [
                      null,
                      1
                    ],
                    [
                      [
                        null,
                        6
                      ]
                    ]
                  ]
                }
              ]
            ]
          ],
          "filter": "||pagead2.googlesyndication.com^",
          "listName": "easylist.txt",
          "query": {
            "e": 1
          }
        },
        "stack": [
          {
            "fileName": "https://aaronlevin.ca/",
            "source": "ThirdPartyTracker RequestHandler"
          }
        ],
        "type": "TrackingRequest",
        "url": "https://pagead2.googlesyndication.com/pagead/ping?e=1"
      },
      {
        "data": {
          "body": {},
          "filter": "||pixel.wp.com^",
          "listName": "easyprivacy.txt",
          "query": {
            "_ts": 1788777465586,
            "rand": 6307061,
            "ref": "https://www.tumblr.com/dashboard/iframe/consent",
            "tid": 3,
            "v": "tumblr"
          }
        },
        "stack": [
          {
            "fileName": "https://www.tumblr.com/dashboard/iframe/consent",
            "source": "ThirdPartyTracker RequestHandler"
          }
        ],
        "type": "TrackingRequest",
        "url": "https://pixel.wp.com/g.gif?v=tumblr&tid=3&rand=6307061&_ts=1788777465586&ref=https%3A%2F%2Fwww.tumblr.com%2Fdashboard%2Fiframe%2Fconsent"
      },
      {
        "data": {
          "body": {},
          "filter": "||scorecardresearch.com^$third-party",
          "listName": "easyprivacy.txt",
          "query": {
            "c1": 2,
            "c2": 15742520,
            "c4": "https://aaronlevin.ca/",
            "ns__t": 1788777465447,
            "ns_c": "UTF-8"
          }
        },
        "stack": [
          {
            "fileName": "https://assets.tumblr.com/analytics.html?_v=9f5febfd57a8a649c598d888f2d9e062#https://aaronlevin.ca",
            "source": "ThirdPartyTracker RequestHandler"
          }
        ],
        "type": "TrackingRequest",
        "url": "https://sb.scorecardresearch.com/b?c1=2&c2=15742520&c4=https%3A%2F%2Faaronlevin.ca%2F&ns__t=1788777465447&ns_c=UTF-8"
      },
      {
        "data": {
          "body": {},
          "filter": "||scorecardresearch.com^$third-party",
          "listName": "easyprivacy.txt",
          "query": {
            "c1": 7,
            "c2": 15742520,
            "c4": "https://aaronlevin.ca/",
            "ns__t": 1788777465447,
            "ns_c": "UTF-8"
          }
        },
        "stack": [
          {
            "fileName": "https://assets.tumblr.com/analytics.html?_v=9f5febfd57a8a649c598d888f2d9e062#https://aaronlevin.ca",
            "source": "ThirdPartyTracker RequestHandler"
          }
        ],
        "type": "TrackingRequest",
        "url": "https://sb.scorecardresearch.com/b?c1=7&c2=15742520&c4=https%3A%2F%2Faaronlevin.ca%2F&ns__t=1788777465447&ns_c=UTF-8"
      },
      {
        "data": {
          "body": {},
          "filter": "||doubleclick.net^",
          "listName": "easylist.txt",
          "query": {}
        },
        "stack": [
          {
            "fileName": "https://aaronlevin.ca/",
            "source": "ThirdPartyTracker RequestHandler"
          }
        ],
        "type": "TrackingRequest",
        "url": "https://securepubads.g.doubleclick.net/pagead/managed/dict/m202609030101/gpt"
      },
      {
        "data": {
          "body": {},
          "filter": "||scorecardresearch.com^$third-party",
          "listName": "easyprivacy.txt",
          "query": {}
        },
        "stack": [
          {
            "fileName": "https://assets.tumblr.com/analytics.html?_v=9f5febfd57a8a649c598d888f2d9e062#https://aaronlevin.ca",
            "source": "ThirdPartyTracker RequestHandler"
          }
        ],
        "type": "TrackingRequest",
        "url": "https://sb.scorecardresearch.com/internal-c2/15742520/cs.js"
      },
      {
        "data": {
          "body": {},
          "filter": "||doubleclick.net^",
          "listName": "easylist.txt",
          "query": {
            "ippd": "aaronlevin.ca"
          }
        },
        "stack": [
          {
            "fileName": "https://aaronlevin.ca/",
            "source": "ThirdPartyTracker RequestHandler"
          }
        ],
        "type": "TrackingRequest",
        "url": "https://securepubads.g.doubleclick.net/pagead/ppub_config?ippd=aaronlevin.ca"
      },
      {
        "data": {
          "body": {},
          "filter": "||doubleclick.net^",
          "listName": "easylist.txt",
          "query": {
            "cb": 122880853
          }
        },
        "stack": [
          {
            "fileName": "https://aaronlevin.ca/",
            "source": "ThirdPartyTracker RequestHandler"
          }
        ],
        "type": "TrackingRequest",
        "url": "https://securepubads.g.doubleclick.net/pagead/managed/js/gpt/m202609020101/pubads_impl.js?cb=122880853"
      },
      {
        "data": {
          "body": {},
          "filter": "||pixel.wp.com^",
          "listName": "easyprivacy.txt",
          "query": {
            "_ts": 1788777465369,
            "rand": 6279158,
            "ref": "https://aaronlevin.ca/",
            "tid": 3,
            "v": "tumblr"
          }
        },
        "stack": [
          {
            "fileName": "about:blank",
            "source": "ThirdPartyTracker RequestHandler"
          }
        ],
        "type": "TrackingRequest",
        "url": "https://pixel.wp.com/g.gif?v=tumblr&tid=3&rand=6279158&_ts=1788777465369&ref=https%3A%2F%2Faaronlevin.ca%2F"
      },
      {
        "data": {
          "body": {},
          "filter": "||scorecardresearch.com^$third-party",
          "listName": "easyprivacy.txt",
          "query": {}
        },
        "stack": [
          {
            "fileName": "https://assets.tumblr.com/analytics.html?_v=9f5febfd57a8a649c598d888f2d9e062#https://aaronlevin.ca",
            "source": "ThirdPartyTracker RequestHandler"
          }
        ],
        "type": "TrackingRequest",
        "url": "https://sb.scorecardresearch.com/c2/15742520/cs.js"
      },
      {
        "data": {
          "body": {},
          "filter": "||pixel.wp.com^",
          "listName": "easyprivacy.txt",
          "query": {
            "_ts": 1788777465303,
            "rand": 7413170,
            "ref": "https://aaronlevin.ca/",
            "tid": 3,
            "v": "tumblr"
          }
        },
        "stack": [
          {
            "fileName": "https://aaronlevin.ca/",
            "source": "ThirdPartyTracker RequestHandler"
          }
        ],
        "type": "TrackingRequest",
        "url": "https://pixel.wp.com/g.gif?v=tumblr&tid=3&rand=7413170&_ts=1788777465303&ref=https%3A%2F%2Faaronlevin.ca%2F"
      },
      {
        "data": {
          "body": {},
          "filter": "||px.srvcs.tumblr.com^",
          "listName": "easyprivacy.txt",
          "query": {
            "J": "eyJ0eXBlIjoicG9zdCIsInVybCI6Imh0dHA6Ly9hYXJvbmxldmluLmNhLyIsInJlcXR5cGUiOjAsInJvdXRlIjoiLyIsInBvc3RzIjpbeyJwb3N0aWQiOiIxNjk0NTExOTc1MzMiLCJibG9naWQiOjE4MTIzMzYzNywic291cmNlIjozM30seyJwb3N0aWQiOiIxMzY0OTQ0MjgyODMiLCJibG9naWQiOjE4MTIzMzYzNywic291cmNlIjozM30seyJwb3N0aWQiOiIxMjIwNzk4NjMxODciLCJibG9naWQiOjE4MTIzMzYzNywic291cmNlIjozM30seyJwb3N0aWQiOiIxMTY2Mzg3NTQ2OTMiLCJibG9naWQiOjE4MTIzMzYzNywic291cmNlIjozM30seyJwb3N0aWQiOiIxMTM2NTg3NjI0MzgiLCJibG9naWQiOjE4MTIzMzYzNywic291cmNlIjozM30seyJwb3N0aWQiOiIxMTE4NzE0NDc0ODgiLCJibG9naWQiOjE4MTIzMzYzNywic291cmNlIjozM30seyJwb3N0aWQiOiIxMDkwMDU5NzQ1MDgiLCJibG9naWQiOjE4MTIzMzYzNywic291cmNlIjozM30seyJwb3N0aWQiOiIxMDY3MjE0MTMwMzMiLCJibG9naWQiOjE4MTIzMzYzNywic291cmNlIjozM30seyJwb3N0aWQiOiIxMDA3MDM2MzE0MDgiLCJibG9naWQiOjE4MTIzMzYzNywic291cmNlIjozM30seyJwb3N0aWQiOiI5Mzc0NDIyMDE3OCIsImJsb2dpZCI6MTgxMjMzNjM3LCJzb3VyY2UiOjMzfV19",
            "K": "89dcd7e778ba7df4c7f773ca1eb6bf5397a465b8bd3893515869794fd2236da0",
            "R": "",
            "T": 1788777464,
            "U": "GCBBNHLGIE"
          }
        },
        "stack": [
          {
            "fileName": "https://aaronlevin.ca/",
            "source": "ThirdPartyTracker RequestHandler"
          }
        ],
        "type": "TrackingRequest",
        "url": "https://px.srvcs.tumblr.com/impixu?T=1788777464&J=eyJ0eXBlIjoicG9zdCIsInVybCI6Imh0dHA6Ly9hYXJvbmxldmluLmNhLyIsInJlcXR5cGUiOjAsInJvdXRlIjoiLyIsInBvc3RzIjpbeyJwb3N0aWQiOiIxNjk0NTExOTc1MzMiLCJibG9naWQiOjE4MTIzMzYzNywic291cmNlIjozM30seyJwb3N0aWQiOiIxMzY0OTQ0MjgyODMiLCJibG9naWQiOjE4MTIzMzYzNywic291cmNlIjozM30seyJwb3N0aWQiOiIxMjIwNzk4NjMxODciLCJibG9naWQiOjE4MTIzMzYzNywic291cmNlIjozM30seyJwb3N0aWQiOiIxMTY2Mzg3NTQ2OTMiLCJibG9naWQiOjE4MTIzMzYzNywic291cmNlIjozM30seyJwb3N0aWQiOiIxMTM2NTg3NjI0MzgiLCJibG9naWQiOjE4MTIzMzYzNywic291cmNlIjozM30seyJwb3N0aWQiOiIxMTE4NzE0NDc0ODgiLCJibG9naWQiOjE4MTIzMzYzNywic291cmNlIjozM30seyJwb3N0aWQiOiIxMDkwMDU5NzQ1MDgiLCJibG9naWQiOjE4MTIzMzYzNywic291cmNlIjozM30seyJwb3N0aWQiOiIxMDY3MjE0MTMwMzMiLCJibG9naWQiOjE4MTIzMzYzNywic291cmNlIjozM30seyJwb3N0aWQiOiIxMDA3MDM2MzE0MDgiLCJibG9naWQiOjE4MTIzMzYzNywic291cmNlIjozM30seyJwb3N0aWQiOiI5Mzc0NDIyMDE3OCIsImJsb2dpZCI6MTgxMjMzNjM3LCJzb3VyY2UiOjMzfV19&U=GCBBNHLGIE&K=89dcd7e778ba7df4c7f773ca1eb6bf5397a465b8bd3893515869794fd2236da0&R="
      },
      {
        "data": {
          "body": {},
          "filter": "||px.srvcs.tumblr.com^",
          "listName": "easyprivacy.txt",
          "query": {
            "J": "eyJ0eXBlIjoidXJsIiwidXJsIjoiaHR0cDovL2Fhcm9ubGV2aW4uY2EvIiwicmVxdHlwZSI6MCwicm91dGUiOiIvIn0=",
            "K": "b734fe03e1ce22988247a2ffb4b6af31edb10b9ef219d83a125b2d1d5bdba2d8",
            "R": "",
            "T": 1788777464,
            "U": "BACBLBAPKN"
          }
        },
        "stack": [
          {
            "fileName": "https://aaronlevin.ca/",
            "source": "ThirdPartyTracker RequestHandler"
          }
        ],
        "type": "TrackingRequest",
        "url": "https://px.srvcs.tumblr.com/impixu?T=1788777464&J=eyJ0eXBlIjoidXJsIiwidXJsIjoiaHR0cDovL2Fhcm9ubGV2aW4uY2EvIiwicmVxdHlwZSI6MCwicm91dGUiOiIvIn0=&U=BACBLBAPKN&K=b734fe03e1ce22988247a2ffb4b6af31edb10b9ef219d83a125b2d1d5bdba2d8&R="
      },
      {
        "data": {
          "body": {},
          "filter": "/analytics.html?",
          "listName": "easyprivacy.txt",
          "query": {
            "_v": "9f5febfd57a8a649c598d888f2d9e062"
          }
        },
        "stack": [
          {
            "fileName": "about:blank",
            "source": "ThirdPartyTracker RequestHandler"
          }
        ],
        "type": "TrackingRequest",
        "url": "https://assets.tumblr.com/analytics.html?_v=9f5febfd57a8a649c598d888f2d9e062"
      },
      {
        "data": {
          "body": {},
          "filter": "||doubleclick.net^",
          "listName": "easylist.txt",
          "query": {}
        },
        "stack": [
          {
            "fileName": "https://aaronlevin.ca/",
            "source": "ThirdPartyTracker RequestHandler"
          }
        ],
        "type": "TrackingRequest",
        "url": "https://securepubads.g.doubleclick.net/tag/js/gpt.js"
      },
      {
        "data": {
          "body": {},
          "filter": "||wp.com/wp-content/js/bilmur.min.js",
          "listName": "easyprivacy.txt",
          "query": {
            "m": 202637
          }
        },
        "stack": [
          {
            "fileName": "https://aaronlevin.ca/",
            "source": "ThirdPartyTracker RequestHandler"
          }
        ],
        "type": "TrackingRequest",
        "url": "https://s0.wp.com/wp-content/js/bilmur.min.js?m=202637"
      }
    ]
  }
}