{"title":"Blacklight Inspection","page_title":"BAM Weblog","uri_ins":"http://brianmckenna.org/","uri_dest":"https://brianmckenna.org/blog/","uri_redirects":["http://brianmckenna.org/","https://brianmckenna.org/"],"secure_connection":{},"host":"brianmckenna.org","config":{"emulateDevice":{"name":"Pixel 5","userAgent":"Mozilla/5.0 (Linux; Android 11; Pixel 5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4812.0 Mobile Safari/537.36","viewport":{"width":393,"height":851,"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=c975c73a-3ea2-40cc-82af-cc2870e351fe"],"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":"27f34b741838","version":{"npm":"3.11.0","commit":"dev"},"node_version":"v24.20.0"},"start_time":"2026-09-08T13:33:50.050Z","end_time":"2026-09-08T13:34:03.410Z","browsing_history":["https://brianmckenna.org/blog/","https://brianmckenna.org/blog/roy_breaking_changes","https://brianmckenna.org/blog/roy_structural"],"hosts":{"requests":{"first_party":["brianmckenna.org"],"third_party":["www.google-analytics.com","ssl.google-analytics.com","bamweblog.disqus.com","disqus.com","c.disquscdn.com","fonts.googleapis.com","referrer.disqus.com","fonts.gstatic.com","a.disquscdn.com"]}},"reports":{"behaviour_event_listeners":{"MOUSE":{"https://c.disquscdn.com/embedv2/latest/embedv2.js":["scroll"],"https://c.disquscdn.com/next/embed/common.bundle.712217b7f5a618b8bc684129c2acd47a.js":["click"],"https://c.disquscdn.com/next/embed/lounge.bundle.7f21ab1c601ae726335d27912834559e.js":["click","scroll","mousemove"],"https://c.disquscdn.com/next/recommendations/common.bundle.43d7b81d7be743ddbbff9eeae86f2a4b.js":["click"],"https://c.disquscdn.com/next/recommendations/recommendations.bundle.e10dd10b7f8cbf10e87b9f893f636092.js":["click","scroll","mousemove"],"https://bamweblog.disqus.com/recommendations.js":["click","scroll","mousemove"],"https://bamweblog.disqus.com/embed.js":["click","scroll","mousemove"]},"KEYBOARD":{"https://c.disquscdn.com/next/embed/common.bundle.712217b7f5a618b8bc684129c2acd47a.js":["keypress"],"https://c.disquscdn.com/next/recommendations/common.bundle.43d7b81d7be743ddbbff9eeae86f2a4b.js":["keypress"]}},"canvas_fingerprinters":{"data_url":{},"fingerprinters":[],"styles":{},"texts":{}},"canvas_font_fingerprinters":{"canvas_font":{},"text_measure":{}},"cookies":[{"name":"__utma","value":"247104343.1275971321.1788874439.1788874439.1788874439.1","domain":"brianmckenna.org","path":"/","expires":"2027-10-13T13:33:59.200Z","size":61,"httpOnly":false,"secure":false,"session":false,"priority":"Medium","sameParty":false,"sourceScheme":"Secure","sourcePort":443,"type":"js","third_party":false},{"name":"__utmc","value":"247104343","domain":"brianmckenna.org","path":"/","expires":-1,"size":15,"httpOnly":false,"secure":false,"session":true,"priority":"Medium","sameParty":false,"sourceScheme":"Secure","sourcePort":443,"type":"js","third_party":false},{"name":"__utmz","value":"247104343.1788874439.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)","domain":"brianmckenna.org","path":"/","expires":"2027-03-10T01:33:59.000Z","size":76,"httpOnly":false,"secure":false,"session":false,"priority":"Medium","sameParty":false,"sourceScheme":"Secure","sourcePort":443,"type":"js","third_party":false},{"name":"__utmt","value":"1","domain":"brianmckenna.org","path":"/","expires":"2026-09-08T13:43:59.000Z","size":7,"httpOnly":false,"secure":false,"session":false,"priority":"Medium","sameParty":false,"sourceScheme":"Secure","sourcePort":443,"type":"js","third_party":false},{"name":"__utmb","value":"247104343.1.10.1788874439","domain":"brianmckenna.org","path":"/","expires":"2026-09-08T14:03:59.000Z","size":31,"httpOnly":false,"secure":false,"session":false,"priority":"Medium","sameParty":false,"sourceScheme":"Secure","sourcePort":443,"type":"js","third_party":false}],"fb_pixel_events":[],"tiktok_pixel_events":[],"twitter_pixel_events":[],"google_analytics_events":[],"key_logging":{},"session_recorders":{},"third_party_trackers":[{"data":{"body":{},"filter":"||referrer.disqus.com^","listName":"easyprivacy.txt","query":{"event":"failed_recommendations.server.undefined"}},"stack":[{"fileName":"https://brianmckenna.org/blog/roy_structural","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://referrer.disqus.com/juggler/stat.gif?event=failed_recommendations.server.undefined"},{"data":{"body":{},"filter":"||referrer.disqus.com^","listName":"easyprivacy.txt","query":{"abe":0,"dnt":0,"embed_hidden":0,"event":"init_embed","experiment":"videofloorexp_hidden","forum":"bamweblog","forum_id":346806,"imp":"883s7q423qa8m4","load_time":165,"max_enabled":false,"promoted_enabled":false,"referrer":"https://brianmckenna.org/","service":"dynamic","theme":"next","thread":329531275,"thread_slug":"roy_structural_typing_bam_weblog","tracking_enabled":0,"user_type":"anon","variant":"active"}},"stack":[{"fileName":"https://disqus.com/embed/comments/?base=default&f=bamweblog&t_u=https%3A%2F%2Fbrianmckenna.org%2Fblog%2Froy_structural&t_d=Roy%20-%20Structural%20Typing%20-%20BAM%20Weblog&t_t=Roy%20-%20Structural%20Typing%20-%20BAM%20Weblog&s_o=default#version=2b53f7bc0e6db9df9d9b00a3aca1508b","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://referrer.disqus.com/juggler/event.gif?abe=0&embed_hidden=0&load_time=165&event=init_embed&thread=329531275&forum=bamweblog&forum_id=346806&imp=883s7q423qa8m4&thread_slug=roy_structural_typing_bam_weblog&user_type=anon&theme=next&dnt=0&tracking_enabled=0&experiment=videofloorexp_hidden&variant=active&service=dynamic&promoted_enabled=false&max_enabled=false&referrer=https%3A%2F%2Fbrianmckenna.org%2F"},{"data":{"body":{},"filter":"||referrer.disqus.com^","listName":"easyprivacy.txt","query":{"area":"n/a","event":"activity","experiment":"videofloorexp_hidden","extra_data":{"anchor_color":"rgb(0,68,136)","color_scheme":"light","gpc":0,"topics":"","typeface":"sans-serif","width":720},"forum":"bamweblog","forum_id":346806,"imp":"883s7q423qa8m4","object_id":"embed","object_type":"product","page_referrer":"direct","page_url":"https://brianmckenna.org/blog/roy_structural","product":"embed","section":"default","service":"dynamic","thread":329531275,"thread_id":329531275,"variant":"active","verb":"view","zone":"thread"}},"stack":[{"fileName":"https://disqus.com/embed/comments/?base=default&f=bamweblog&t_u=https%3A%2F%2Fbrianmckenna.org%2Fblog%2Froy_structural&t_d=Roy%20-%20Structural%20Typing%20-%20BAM%20Weblog&t_t=Roy%20-%20Structural%20Typing%20-%20BAM%20Weblog&s_o=default#version=2b53f7bc0e6db9df9d9b00a3aca1508b","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://referrer.disqus.com/juggler/event.js?experiment=videofloorexp_hidden&variant=active&page_referrer=direct&product=embed&thread=329531275&thread_id=329531275&forum=bamweblog&forum_id=346806&zone=thread&page_url=https%3A%2F%2Fbrianmckenna.org%2Fblog%2Froy_structural&service=dynamic&verb=view&object_type=product&object_id=embed&extra_data=%7B%22color_scheme%22%3A%22light%22%2C%22anchor_color%22%3A%22rgb(0%2C68%2C136)%22%2C%22typeface%22%3A%22sans-serif%22%2C%22width%22%3A720%2C%22gpc%22%3A0%2C%22topics%22%3A%22%22%7D&event=activity&imp=883s7q423qa8m4&section=default&area=n%2Fa"},{"data":{"body":{},"filter":"||referrer.disqus.com^","listName":"easyprivacy.txt","query":{"event":"cmp.gpp.absent"}},"stack":[{"fileName":"https://brianmckenna.org/blog/roy_structural","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://referrer.disqus.com/juggler/stat.gif?event=cmp.gpp.absent"},{"data":{"body":{},"filter":"||referrer.disqus.com^","listName":"easyprivacy.txt","query":{"event":"lounge.loading.view"}},"stack":[{"fileName":"https://brianmckenna.org/blog/roy_structural","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://referrer.disqus.com/juggler/stat.gif?event=lounge.loading.view"},{"data":{"body":{},"filter":"||google-analytics.com^$third-party","listName":"easyprivacy.txt","query":{"utmac":"UA-52294-5","utmcc":"__utma=247104343.1275971321.1788874439.1788874439.1788874439.1;+__utmz=247104343.1788874439.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none);","utmcs":"UTF-8","utmdt":"Roy - Structural Typing - BAM Weblog","utmfl":"-","utmhid":1228472959,"utmhn":"brianmckenna.org","utmht":1788874439200,"utmje":0,"utmjid":1573142700,"utmn":59159343,"utmp":"/blog/roy_structural","utmr":"-","utmredir":1,"utms":1,"utmsc":"24-bit","utmsr":"393x851","utmu":"qAAAAAAAAAAAAAAAAAAAAAAE~","utmul":"en-us","utmvp":"980x2122","utmwv":"5.7.2"}},"stack":[{"fileName":"https://brianmckenna.org/blog/roy_structural","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://ssl.google-analytics.com/r/__utm.gif?utmwv=5.7.2&utms=1&utmn=59159343&utmhn=brianmckenna.org&utmcs=UTF-8&utmsr=393x851&utmvp=980x2122&utmsc=24-bit&utmul=en-us&utmje=0&utmfl=-&utmdt=Roy%20-%20Structural%20Typing%20-%20BAM%20Weblog&utmhid=1228472959&utmr=-&utmp=%2Fblog%2Froy_structural&utmht=1788874439200&utmac=UA-52294-5&utmcc=__utma%3D247104343.1275971321.1788874439.1788874439.1788874439.1%3B%2B__utmz%3D247104343.1788874439.1.1.utmcsr%3D(direct)%7Cutmccn%3D(direct)%7Cutmcmd%3D(none)%3B&utmjid=1573142700&utmredir=1&utmu=qAAAAAAAAAAAAAAAAAAAAAAE~"},{"data":{"body":{},"filter":"||google-analytics.com^$third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://brianmckenna.org/blog/roy_structural","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://www.google-analytics.com/ga.js"},{"data":{"body":{},"filter":"||referrer.disqus.com^","listName":"easyprivacy.txt","query":{"area":"n/a","event":"activity","experiment":"videofloorexp_hidden","extra_data":{"anchor_color":"rgb(0,68,136)","color_scheme":"light","gpc":0,"topics":"","typeface":"sans-serif","width":720},"forum":"bamweblog","forum_id":346806,"imp":"883s5hv3e938na","object_id":"embed","object_type":"product","page_referrer":"direct","page_url":"https://brianmckenna.org/blog/roy_breaking_changes","product":"embed","section":"default","service":"dynamic","thread":606861845,"thread_id":606861845,"variant":"active","verb":"view","zone":"thread"}},"stack":[{"fileName":"https://disqus.com/embed/comments/?base=default&f=bamweblog&t_u=https%3A%2F%2Fbrianmckenna.org%2Fblog%2Froy_breaking_changes&t_d=Roy%20-%20Breaking%20Changes%20-%20BAM%20Weblog&t_t=Roy%20-%20Breaking%20Changes%20-%20BAM%20Weblog&s_o=default#version=2b53f7bc0e6db9df9d9b00a3aca1508b","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://referrer.disqus.com/juggler/event.js?experiment=videofloorexp_hidden&variant=active&page_referrer=direct&product=embed&thread=606861845&thread_id=606861845&forum=bamweblog&forum_id=346806&zone=thread&page_url=https%3A%2F%2Fbrianmckenna.org%2Fblog%2Froy_breaking_changes&service=dynamic&verb=view&object_type=product&object_id=embed&extra_data=%7B%22color_scheme%22%3A%22light%22%2C%22anchor_color%22%3A%22rgb(0%2C68%2C136)%22%2C%22typeface%22%3A%22sans-serif%22%2C%22width%22%3A720%2C%22gpc%22%3A0%2C%22topics%22%3A%22%22%7D&event=activity&imp=883s5hv3e938na&section=default&area=n%2Fa"},{"data":{"body":{},"filter":"||referrer.disqus.com^","listName":"easyprivacy.txt","query":{"event":"failed_recommendations.server.undefined"}},"stack":[{"fileName":"https://brianmckenna.org/blog/roy_breaking_changes","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://referrer.disqus.com/juggler/stat.gif?event=failed_recommendations.server.undefined"},{"data":{"body":{},"filter":"||referrer.disqus.com^","listName":"easyprivacy.txt","query":{"abe":0,"dnt":0,"embed_hidden":0,"event":"init_embed","experiment":"videofloorexp_hidden","forum":"bamweblog","forum_id":346806,"imp":"883s5hv3e938na","load_time":196,"max_enabled":false,"promoted_enabled":false,"referrer":"https://brianmckenna.org/","service":"dynamic","theme":"next","thread":606861845,"thread_slug":"roy_breaking_changes_bam_weblog","tracking_enabled":0,"user_type":"anon","variant":"active"}},"stack":[{"fileName":"https://disqus.com/embed/comments/?base=default&f=bamweblog&t_u=https%3A%2F%2Fbrianmckenna.org%2Fblog%2Froy_breaking_changes&t_d=Roy%20-%20Breaking%20Changes%20-%20BAM%20Weblog&t_t=Roy%20-%20Breaking%20Changes%20-%20BAM%20Weblog&s_o=default#version=2b53f7bc0e6db9df9d9b00a3aca1508b","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://referrer.disqus.com/juggler/event.gif?abe=0&embed_hidden=0&load_time=196&event=init_embed&thread=606861845&forum=bamweblog&forum_id=346806&imp=883s5hv3e938na&thread_slug=roy_breaking_changes_bam_weblog&user_type=anon&theme=next&dnt=0&tracking_enabled=0&experiment=videofloorexp_hidden&variant=active&service=dynamic&promoted_enabled=false&max_enabled=false&referrer=https%3A%2F%2Fbrianmckenna.org%2F"},{"data":{"body":{},"filter":"||referrer.disqus.com^","listName":"easyprivacy.txt","query":{"event":"cmp.gpp.absent"}},"stack":[{"fileName":"https://brianmckenna.org/blog/roy_breaking_changes","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://referrer.disqus.com/juggler/stat.gif?event=cmp.gpp.absent"},{"data":{"body":{},"filter":"||google-analytics.com^$third-party","listName":"easyprivacy.txt","query":{"utmac":"UA-52294-5","utmcc":"__utma=247104343.782220061.1788874435.1788874435.1788874435.1;+__utmz=247104343.1788874435.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none);","utmcs":"UTF-8","utmdt":"Roy - Breaking Changes - BAM Weblog","utmfl":"-","utmhid":849887535,"utmhn":"brianmckenna.org","utmht":1788874434760,"utmje":0,"utmjid":1178584997,"utmn":313042124,"utmp":"/blog/roy_breaking_changes","utmr":"-","utmredir":1,"utms":1,"utmsc":"24-bit","utmsr":"393x851","utmu":"qAAAAAAAAAAAAAAAAAAAAAAE~","utmul":"en-us","utmvp":"980x2122","utmwv":"5.7.2"}},"stack":[{"fileName":"https://brianmckenna.org/blog/roy_breaking_changes","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://ssl.google-analytics.com/r/__utm.gif?utmwv=5.7.2&utms=1&utmn=313042124&utmhn=brianmckenna.org&utmcs=UTF-8&utmsr=393x851&utmvp=980x2122&utmsc=24-bit&utmul=en-us&utmje=0&utmfl=-&utmdt=Roy%20-%20Breaking%20Changes%20-%20BAM%20Weblog&utmhid=849887535&utmr=-&utmp=%2Fblog%2Froy_breaking_changes&utmht=1788874434760&utmac=UA-52294-5&utmcc=__utma%3D247104343.782220061.1788874435.1788874435.1788874435.1%3B%2B__utmz%3D247104343.1788874435.1.1.utmcsr%3D(direct)%7Cutmccn%3D(direct)%7Cutmcmd%3D(none)%3B&utmjid=1178584997&utmredir=1&utmu=qAAAAAAAAAAAAAAAAAAAAAAE~"},{"data":{"body":{},"filter":"||google-analytics.com^$third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://brianmckenna.org/blog/roy_breaking_changes","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://www.google-analytics.com/ga.js"},{"data":{"body":{},"filter":"||google-analytics.com^$third-party","listName":"easyprivacy.txt","query":{"utmac":"UA-52294-5","utmcc":"__utma=247104343.677661119.1788874432.1788874432.1788874432.1;+__utmz=247104343.1788874432.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none);","utmcs":"UTF-8","utmdt":"BAM Weblog","utmfl":"-","utmhid":1935593437,"utmhn":"brianmckenna.org","utmht":1788874432046,"utmje":0,"utmjid":1468514315,"utmn":1662581391,"utmp":"/blog/","utmr":"-","utmredir":1,"utms":1,"utmsc":"24-bit","utmsr":"393x851","utmu":"qAAAAAAAAAAAAAAAAAAAAAAE~","utmul":"en-us","utmvp":"980x2122","utmwv":"5.7.2"}},"stack":[{"fileName":"https://brianmckenna.org/blog/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://ssl.google-analytics.com/r/__utm.gif?utmwv=5.7.2&utms=1&utmn=1662581391&utmhn=brianmckenna.org&utmcs=UTF-8&utmsr=393x851&utmvp=980x2122&utmsc=24-bit&utmul=en-us&utmje=0&utmfl=-&utmdt=BAM%20Weblog&utmhid=1935593437&utmr=-&utmp=%2Fblog%2F&utmht=1788874432046&utmac=UA-52294-5&utmcc=__utma%3D247104343.677661119.1788874432.1788874432.1788874432.1%3B%2B__utmz%3D247104343.1788874432.1.1.utmcsr%3D(direct)%7Cutmccn%3D(direct)%7Cutmcmd%3D(none)%3B&utmjid=1468514315&utmredir=1&utmu=qAAAAAAAAAAAAAAAAAAAAAAE~"},{"data":{"body":{},"filter":"||google-analytics.com^$third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://brianmckenna.org/blog/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://www.google-analytics.com/ga.js"}]}}