CINXE.COM
Roger P. Alford | The Law School | University of Notre Dame
<!doctype html> <html lang="en" class="no-js"> <head> <meta charset="utf-8"> <script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","errorBeacon":"bam.nr-data.net","licenseKey":"db51011748","applicationID":"9339","transactionName":"Il8IQ0sLDVVVR05QXQ9UE1RNCxMWXVQIXQ==","queueTime":0,"applicationTime":221,"agent":""}</script> <script type="text/javascript">(window.NREUM||(NREUM={})).init={ajax:{deny_list:["bam.nr-data.net"]}};(window.NREUM||(NREUM={})).loader_config={licenseKey:"db51011748",applicationID:"9339"};;/*! For license information please see nr-loader-rum-1.274.0.min.js.LICENSE.txt */ (()=>{var e,t,r={8122:(e,t,r)=>{"use strict";r.d(t,{a:()=>i});var n=r(944);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.R)(3);if(!t||"object"!=typeof t)return(0,n.R)(4);const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),o=0===Object.keys(r).length?e:r;for(let a in o)if(void 0!==e[a])try{if(null===e[a]){r[a]=null;continue}Array.isArray(e[a])&&Array.isArray(t[a])?r[a]=Array.from(new Set([...e[a],...t[a]])):"object"==typeof e[a]&&"object"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},2555:(e,t,r)=>{"use strict";r.d(t,{Vp:()=>c,fn:()=>s,x1:()=>u});var n=r(384),i=r(8122);const o={beacon:n.NT.beacon,errorBeacon:n.NT.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0},a={};function s(e){try{const t=c(e);return!!t.licenseKey&&!!t.errorBeacon&&!!t.applicationID}catch(e){return!1}}function c(e){if(!e)throw new Error("All info objects require an agent identifier!");if(!a[e])throw new Error("Info for ".concat(e," was never set"));return a[e]}function u(e,t){if(!e)throw new Error("All info objects require an agent identifier!");a[e]=(0,i.a)(t,o);const r=(0,n.nY)(e);r&&(r.info=a[e])}},9417:(e,t,r)=>{"use strict";r.d(t,{D0:()=>g,gD:()=>h,xN:()=>p});var n=r(993);const i=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var o=r(2614),a=r(944),s=r(384),c=r(8122);const u="[data-nr-mask]",d=()=>{const e={mask_selector:"*",block_selector:"[data-nr-block]",mask_input_options:{color:!1,date:!1,"datetime-local":!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{ajax:{deny_list:void 0,block_internal:!0,enabled:!0,harvestTimeSeconds:10,autoStart:!0},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},feature_flags:[],generic_events:{enabled:!0,harvestTimeSeconds:30,autoStart:!0},harvest:{tooManyRequestsDelay:60},jserrors:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},logging:{enabled:!0,harvestTimeSeconds:10,autoStart:!0,level:n.p_.INFO},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,harvestTimeSeconds:30,autoStart:!0},performance:{capture_marks:!1,capture_measures:!1},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:o.wk,inactiveMs:o.BB},session_replay:{autoStart:!0,enabled:!1,harvestTimeSeconds:60,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inline_images:!1,fix_stylesheets:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){i(t)?e.mask_selector="".concat(t,",").concat(u):""===t||null===t?e.mask_selector=u:(0,a.R)(5,t)},get block_class(){return"nr-block"},get ignore_class(){return"nr-ignore"},get mask_text_class(){return"nr-mask"},get block_selector(){return e.block_selector},set block_selector(t){i(t)?e.block_selector+=",".concat(t):""!==t&&(0,a.R)(6,t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t&&"object"==typeof t?e.mask_input_options={...t,password:!0}:(0,a.R)(7,t)}},session_trace:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},soft_navigations:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},spa:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},ssl:void 0,user_actions:{enabled:!0}}},l={},f="All configuration objects require an agent identifier!";function g(e){if(!e)throw new Error(f);if(!l[e])throw new Error("Configuration for ".concat(e," was never set"));return l[e]}function p(e,t){if(!e)throw new Error(f);l[e]=(0,c.a)(t,d());const r=(0,s.nY)(e);r&&(r.init=l[e])}function h(e,t){if(!e)throw new Error(f);var r=g(e);if(r){for(var n=t.split("."),i=0;i<n.length-1;i++)if("object"!=typeof(r=r[n[i]]))return;r=r[n[n.length-1]]}return r}},3371:(e,t,r)=>{"use strict";r.d(t,{V:()=>f,f:()=>l});var n=r(8122),i=r(384),o=r(6154),a=r(9324);let s=0;const c={buildEnv:a.F3,distMethod:a.Xs,version:a.xv,originTime:o.WN},u={customTransaction:void 0,disabled:!1,isolatedBacklog:!1,loaderType:void 0,maxBytes:3e4,onerror:void 0,ptid:void 0,releaseIds:{},appMetadata:{},session:void 0,denyList:void 0,timeKeeper:void 0,obfuscator:void 0},d={};function l(e){if(!e)throw new Error("All runtime objects require an agent identifier!");if(!d[e])throw new Error("Runtime for ".concat(e," was never set"));return d[e]}function f(e,t){if(!e)throw new Error("All runtime objects require an agent identifier!");d[e]={...(0,n.a)(t,u),...c},Object.hasOwnProperty.call(d[e],"harvestCount")||Object.defineProperty(d[e],"harvestCount",{get:()=>++s});const r=(0,i.nY)(e);r&&(r.runtime=d[e])}},9324:(e,t,r)=>{"use strict";r.d(t,{F3:()=>i,Xs:()=>o,xv:()=>n});const n="1.274.0",i="PROD",o="CDN"},6154:(e,t,r)=>{"use strict";r.d(t,{OF:()=>c,RI:()=>i,WN:()=>d,bv:()=>o,gm:()=>a,mw:()=>s,sb:()=>u});var n=r(1863);const i="undefined"!=typeof window&&!!window.document,o="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),a=i?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),s=Boolean("hidden"===a?.document?.visibilityState),c=/iPad|iPhone|iPod/.test(a.navigator?.userAgent),u=c&&"undefined"==typeof SharedWorker,d=((()=>{const e=a.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);Array.isArray(e)&&e.length>=2&&e[1]})(),Date.now()-(0,n.t)())},1687:(e,t,r)=>{"use strict";r.d(t,{Ak:()=>c,Ze:()=>l,x3:()=>u});var n=r(7836),i=r(3606),o=r(860),a=r(2646);const s={};function c(e,t){const r={staged:!1,priority:o.P3[t]||0};d(e),s[e].get(t)||s[e].set(t,r)}function u(e,t){e&&s[e]&&(s[e].get(t)&&s[e].delete(t),g(e,t,!1),s[e].size&&f(e))}function d(e){if(!e)throw new Error("agentIdentifier required");s[e]||(s[e]=new Map)}function l(e="",t="feature",r=!1){if(d(e),!e||!s[e].get(t)||r)return g(e,t);s[e].get(t).staged=!0,f(e)}function f(e){const t=Array.from(s[e]);t.every((([e,t])=>t.staged))&&(t.sort(((e,t)=>e[1].priority-t[1].priority)),t.forEach((([t])=>{s[e].delete(t),g(e,t)})))}function g(e,t,r=!0){const o=e?n.ee.get(e):n.ee,s=i.i.handlers;if(!o.aborted&&o.backlog&&s){if(r){const e=o.backlog[t],r=s[t];if(r){for(let t=0;e&&t<e.length;++t)p(e[t],r);Object.entries(r).forEach((([e,t])=>{Object.values(t||{}).forEach((t=>{t[0]?.on&&t[0]?.context()instanceof a.y&&t[0].on(e,t[1])}))}))}}o.isolatedBacklog||delete s[t],o.backlog[t]=null,o.emit("drain-"+t,[])}}function p(e,t){var r=e[1];Object.values(t[r]||{}).forEach((t=>{var r=e[0];if(t[0]===r){var n=t[1],i=e[3],o=e[2];n.apply(i,o)}}))}},7836:(e,t,r)=>{"use strict";r.d(t,{P:()=>c,ee:()=>u});var n=r(384),i=r(8990),o=r(3371),a=r(2646),s=r(5607);const c="nr@context:".concat(s.W),u=function e(t,r){var n={},s={},d={},l=!1;try{l=16===r.length&&(0,o.f)(r).isolatedBacklog}catch(e){}var f={on:p,addEventListener:p,removeEventListener:function(e,t){var r=n[e];if(!r)return;for(var i=0;i<r.length;i++)r[i]===t&&r.splice(i,1)},emit:function(e,r,n,i,o){!1!==o&&(o=!0);if(u.aborted&&!i)return;t&&o&&t.emit(e,r,n);for(var a=g(n),c=h(e),d=c.length,l=0;l<d;l++)c[l].apply(a,r);var p=m()[s[e]];p&&p.push([f,e,r,a]);return a},get:v,listeners:h,context:g,buffer:function(e,t){const r=m();if(t=t||"feature",f.aborted)return;Object.entries(e||{}).forEach((([e,n])=>{s[n]=t,t in r||(r[t]=[])}))},abort:function(){f._aborted=!0,Object.keys(f.backlog).forEach((e=>{delete f.backlog[e]}))},isBuffering:function(e){return!!m()[s[e]]},debugId:r,backlog:l?{}:t&&"object"==typeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,"aborted",{get:()=>{let e=f._aborted||!1;return e||(t&&(e=t.aborted),e)}}),f;function g(e){return e&&e instanceof a.y?e:e?(0,i.I)(e,c,(()=>new a.y(c))):new a.y(c)}function p(e,t){n[e]=h(e).concat(t)}function h(e){return n[e]||[]}function v(t){return d[t]=d[t]||e(f,t)}function m(){return f.backlog}}(void 0,"globalEE"),d=(0,n.Zm)();d.ee||(d.ee=u)},2646:(e,t,r)=>{"use strict";r.d(t,{y:()=>n});class n{constructor(e){this.contextId=e}}},9908:(e,t,r)=>{"use strict";r.d(t,{d:()=>n,p:()=>i});var n=r(7836).ee.get("handle");function i(e,t,r,i,o){o?(o.buffer([e],i),o.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},3606:(e,t,r)=>{"use strict";r.d(t,{i:()=>o});var n=r(9908);o.on=a;var i=o.handlers={};function o(e,t,r,o){a(o||n.d,i,e,t,r)}function a(e,t,r,i,o){o||(o="feature"),e||(e=n.d);var a=t[o]=t[o]||{};(a[r]=a[r]||[]).push([e,i])}},3878:(e,t,r)=>{"use strict";function n(e,t){return{capture:e,passive:!1,signal:t}}function i(e,t,r=!1,i){window.addEventListener(e,t,n(r,i))}function o(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=>o,jT:()=>n,sp:()=>i})},5607:(e,t,r)=>{"use strict";r.d(t,{W:()=>n});const n=(0,r(9566).bz)()},9566:(e,t,r)=>{"use strict";r.d(t,{LA:()=>s,bz:()=>a});var n=r(6154);const i="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx";function o(e,t){return e?15&e[t]:16*Math.random()|0}function a(){const e=n.gm?.crypto||n.gm?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(30))),i.split("").map((e=>"x"===e?o(t,r++).toString(16):"y"===e?(3&o()|8).toString(16):e)).join("")}function s(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,i=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const a=[];for(var s=0;s<e;s++)a.push(o(r,i++).toString(16));return a.join("")}},2614:(e,t,r)=>{"use strict";r.d(t,{BB:()=>a,H3:()=>n,g:()=>u,iL:()=>c,tS:()=>s,uh:()=>i,wk:()=>o});const n="NRBA",i="SESSION",o=144e5,a=18e5,s={STARTED:"session-started",PAUSE:"session-pause",RESET:"session-reset",RESUME:"session-resume",UPDATE:"session-update"},c={SAME_TAB:"same-tab",CROSS_TAB:"cross-tab"},u={OFF:0,FULL:1,ERROR:2}},1863:(e,t,r)=>{"use strict";function n(){return Math.floor(performance.now())}r.d(t,{t:()=>n})},944:(e,t,r)=>{"use strict";function n(e,t){"function"==typeof console.debug&&console.debug("New Relic Warning: https://github.com/newrelic/newrelic-browser-agent/blob/main/docs/warning-codes.md#".concat(e),t)}r.d(t,{R:()=>n})},5284:(e,t,r)=>{"use strict";r.d(t,{t:()=>c,B:()=>s});var n=r(7836),i=r(6154);const o="newrelic";const a=new Set,s={};function c(e,t){const r=n.ee.get(t);s[t]??={},e&&"object"==typeof e&&(a.has(t)||(r.emit("rumresp",[e]),s[t]=e,a.add(t),function(e={}){try{i.gm.dispatchEvent(new CustomEvent(o,{detail:e}))}catch(e){}}({loaded:!0})))}},8990:(e,t,r)=>{"use strict";r.d(t,{I:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},6389:(e,t,r)=>{"use strict";function n(e,t=500,r={}){const n=r?.leading||!1;let i;return(...r)=>{n&&void 0===i&&(e.apply(this,r),i=setTimeout((()=>{i=clearTimeout(i)}),t)),n||(clearTimeout(i),i=setTimeout((()=>{e.apply(this,r)}),t))}}function i(e){let t=!1;return(...r)=>{t||(t=!0,e.apply(this,r))}}r.d(t,{J:()=>i,s:()=>n})},5289:(e,t,r)=>{"use strict";r.d(t,{GG:()=>o,sB:()=>a});var n=r(3878);function i(){return"undefined"==typeof document||"complete"===document.readyState}function o(e,t){if(i())return e();(0,n.sp)("load",e,t)}function a(e){if(i())return e();(0,n.DD)("DOMContentLoaded",e)}},384:(e,t,r)=>{"use strict";r.d(t,{NT:()=>o,US:()=>d,Zm:()=>a,bQ:()=>c,dV:()=>s,nY:()=>u,pV:()=>l});var n=r(6154),i=r(1863);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function a(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic&&(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function s(){let e=a();return e.o||(e.o={ST:n.gm.setTimeout,SI:n.gm.setImmediate,CT:n.gm.clearTimeout,XHR:n.gm.XMLHttpRequest,REQ:n.gm.Request,EV:n.gm.Event,PR:n.gm.Promise,MO:n.gm.MutationObserver,FETCH:n.gm.fetch,WS:n.gm.WebSocket}),e}function c(e,t){let r=a();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t}function u(e){let t=a();return t.initializedAgents?.[e]}function d(e,t){a()[e]=t}function l(){return function(){let e=a();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=a();const t=e.init||{};e.init={...t}}(),s(),function(){let e=a();const t=e.loader_config||{};e.loader_config={...t}}(),a()}},2843:(e,t,r)=>{"use strict";r.d(t,{u:()=>i});var n=r(3878);function i(e,t=!1,r,i){(0,n.DD)("visibilitychange",(function(){if(t)return void("hidden"===document.visibilityState&&e());e(document.visibilityState)}),r,i)}},3434:(e,t,r)=>{"use strict";r.d(t,{YM:()=>c});var n=r(7836),i=r(5607);const o="nr@original:".concat(i.W);var a=Object.prototype.hasOwnProperty,s=!1;function c(e,t){return e||(e=n.ee),r.inPlace=function(e,t,n,i,o){n||(n="");const a="-"===n.charAt(0);for(let s=0;s<t.length;s++){const c=t[s],u=e[c];d(u)||(e[c]=r(u,a?c+n:n,i,c,o))}},r.flag=o,r;function r(t,r,n,s,c){return d(t)?t:(r||(r=""),nrWrapper[o]=t,function(e,t,r){if(Object.defineProperty&&Object.keys)try{return Object.keys(e).forEach((function(r){Object.defineProperty(t,r,{get:function(){return e[r]},set:function(t){return e[r]=t,t}})})),t}catch(e){u([e],r)}for(var n in e)a.call(e,n)&&(t[n]=e[n])}(t,nrWrapper,e),nrWrapper);function nrWrapper(){var o,a,d,l;try{a=this,o=[...arguments],d="function"==typeof n?n(o,a):n||{}}catch(t){u([t,"",[o,a,s],d],e)}i(r+"start",[o,a,s],d,c);try{return l=t.apply(a,o)}catch(e){throw i(r+"err",[o,a,e],d,c),e}finally{i(r+"end",[o,a,l],d,c)}}}function i(r,n,i,o){if(!s||t){var a=s;s=!0;try{e.emit(r,n,i,t,o)}catch(t){u([t,r,n,i],e)}s=a}}}function u(e,t){t||(t=n.ee);try{t.emit("internal-error",e)}catch(e){}}function d(e){return!(e&&"function"==typeof e&&e.apply&&!e[o])}},993:(e,t,r)=>{"use strict";r.d(t,{ET:()=>o,p_:()=>i});var n=r(860);const i={ERROR:"ERROR",WARN:"WARN",INFO:"INFO",DEBUG:"DEBUG",TRACE:"TRACE"},o="log";n.K7.logging},3969:(e,t,r)=>{"use strict";r.d(t,{TZ:()=>n,XG:()=>s,rs:()=>i,xV:()=>a,z_:()=>o});const n=r(860).K7.metrics,i="sm",o="cm",a="storeSupportabilityMetrics",s="storeEventMetrics"},6630:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewEvent},782:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewTiming},6344:(e,t,r)=>{"use strict";r.d(t,{G4:()=>i});var n=r(2614);r(860).K7.sessionReplay;const i={RECORD:"recordReplay",PAUSE:"pauseReplay",REPLAY_RUNNING:"replayRunning",ERROR_DURING_REPLAY:"errorDuringReplay"};n.g.ERROR,n.g.FULL,n.g.OFF},4234:(e,t,r)=>{"use strict";r.d(t,{W:()=>o});var n=r(7836),i=r(1687);class o{constructor(e,t){this.agentIdentifier=e,this.ee=n.ee.get(e),this.featureName=t,this.blocked=!1}deregisterDrain(){(0,i.x3)(this.agentIdentifier,this.featureName)}}},7603:(e,t,r)=>{"use strict";r.d(t,{j:()=>P});var n=r(860),i=r(2555),o=r(3371),a=r(9908),s=r(7836),c=r(1687),u=r(5289),d=r(6154),l=r(944),f=r(3969),g=r(384),p=r(6344);const h=["setErrorHandler","finished","addToTrace","addRelease","addPageAction","setCurrentRouteName","setPageViewName","setCustomAttribute","interaction","noticeError","setUserId","setApplicationVersion","start",p.G4.RECORD,p.G4.PAUSE,"log","wrapLogger"],v=["setErrorHandler","finished","addToTrace","addRelease"];var m=r(1863),b=r(2614),y=r(993);var w=r(2646),A=r(3434);function R(e,t,r,n){if("object"!=typeof t||!t||"string"!=typeof r||!r||"function"!=typeof t[r])return(0,l.R)(29);const i=function(e){return(e||s.ee).get("logger")}(e),o=(0,A.YM)(i),a=new w.y(s.P);return a.level=n.level,a.customAttributes=n.customAttributes,o.inPlace(t,[r],"wrap-logger-",a),i}function E(){const e=(0,g.pV)();h.forEach((t=>{e[t]=(...r)=>function(t,...r){let n=[];return Object.values(e.initializedAgents).forEach((e=>{e&&e.api?e.exposed&&e.api[t]&&n.push(e.api[t](...r)):(0,l.R)(38,t)})),n.length>1?n:n[0]}(t,...r)}))}const x={};function _(e,t,g=!1){t||(0,c.Ak)(e,"api");const h={};var w=s.ee.get(e),A=w.get("tracer");x[e]=b.g.OFF,w.on(p.G4.REPLAY_RUNNING,(t=>{x[e]=t}));var E="api-",_=E+"ixn-";function N(t,r,n,o){const a=(0,i.Vp)(e);return null===r?delete a.jsAttributes[t]:(0,i.x1)(e,{...a,jsAttributes:{...a.jsAttributes,[t]:r}}),j(E,n,!0,o||null===r?"session":void 0)(t,r)}function T(){}h.log=function(e,{customAttributes:t={},level:r=y.p_.INFO}={}){(0,a.p)(f.xV,["API/log/called"],void 0,n.K7.metrics,w),function(e,t,r={},i=y.p_.INFO){(0,a.p)(f.xV,["API/logging/".concat(i.toLowerCase(),"/called")],void 0,n.K7.metrics,e),(0,a.p)(y.ET,[(0,m.t)(),t,r,i],void 0,n.K7.logging,e)}(w,e,t,r)},h.wrapLogger=(e,t,{customAttributes:r={},level:i=y.p_.INFO}={})=>{(0,a.p)(f.xV,["API/wrapLogger/called"],void 0,n.K7.metrics,w),R(w,e,t,{customAttributes:r,level:i})},v.forEach((e=>{h[e]=j(E,e,!0,"api")})),h.addPageAction=j(E,"addPageAction",!0,n.K7.genericEvents),h.setPageViewName=function(t,r){if("string"==typeof t)return"/"!==t.charAt(0)&&(t="/"+t),(0,o.f)(e).customTransaction=(r||"http://custom.transaction")+t,j(E,"setPageViewName",!0)()},h.setCustomAttribute=function(e,t,r=!1){if("string"==typeof e){if(["string","number","boolean"].includes(typeof t)||null===t)return N(e,t,"setCustomAttribute",r);(0,l.R)(40,typeof t)}else(0,l.R)(39,typeof e)},h.setUserId=function(e){if("string"==typeof e||null===e)return N("enduser.id",e,"setUserId",!0);(0,l.R)(41,typeof e)},h.setApplicationVersion=function(e){if("string"==typeof e||null===e)return N("application.version",e,"setApplicationVersion",!1);(0,l.R)(42,typeof e)},h.start=()=>{try{(0,a.p)(f.xV,["API/start/called"],void 0,n.K7.metrics,w),w.emit("manual-start-all")}catch(e){(0,l.R)(23,e)}},h[p.G4.RECORD]=function(){(0,a.p)(f.xV,["API/recordReplay/called"],void 0,n.K7.metrics,w),(0,a.p)(p.G4.RECORD,[],void 0,n.K7.sessionReplay,w)},h[p.G4.PAUSE]=function(){(0,a.p)(f.xV,["API/pauseReplay/called"],void 0,n.K7.metrics,w),(0,a.p)(p.G4.PAUSE,[],void 0,n.K7.sessionReplay,w)},h.interaction=function(e){return(new T).get("object"==typeof e?e:{})};const S=T.prototype={createTracer:function(e,t){var r={},i=this,o="function"==typeof t;return(0,a.p)(f.xV,["API/createTracer/called"],void 0,n.K7.metrics,w),g||(0,a.p)(_+"tracer",[(0,m.t)(),e,r],i,n.K7.spa,w),function(){if(A.emit((o?"":"no-")+"fn-start",[(0,m.t)(),i,o],r),o)try{return t.apply(this,arguments)}catch(e){const t="string"==typeof e?new Error(e):e;throw A.emit("fn-err",[arguments,this,t],r),t}finally{A.emit("fn-end",[(0,m.t)()],r)}}}};function j(e,t,r,i){return function(){return(0,a.p)(f.xV,["API/"+t+"/called"],void 0,n.K7.metrics,w),i&&(0,a.p)(e+t,[(0,m.t)(),...arguments],r?null:this,i,w),r?void 0:this}}function k(){r.e(296).then(r.bind(r,8778)).then((({setAPI:t})=>{t(e),(0,c.Ze)(e,"api")})).catch((e=>{(0,l.R)(27,e),w.abort()}))}return["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach((e=>{S[e]=j(_,e,void 0,g?n.K7.softNav:n.K7.spa)})),h.setCurrentRouteName=g?j(_,"routeName",void 0,n.K7.softNav):j(E,"routeName",!0,n.K7.spa),h.noticeError=function(t,r){"string"==typeof t&&(t=new Error(t)),(0,a.p)(f.xV,["API/noticeError/called"],void 0,n.K7.metrics,w),(0,a.p)("err",[t,(0,m.t)(),!1,r,!!x[e]],void 0,n.K7.jserrors,w)},d.RI?(0,u.GG)((()=>k()),!0):k(),h}var N=r(9417),T=r(8122);const S={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0},j={};var k=r(5284);const I=e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e};let O=!1;function P(e,t={},r,n){let{init:a,info:c,loader_config:u,runtime:l={},exposed:f=!0}=t;l.loaderType=r;const p=(0,g.pV)();c||(a=p.init,c=p.info,u=p.loader_config),(0,N.xN)(e.agentIdentifier,a||{}),function(e,t){if(!e)throw new Error("All loader-config objects require an agent identifier!");j[e]=(0,T.a)(t,S);const r=(0,g.nY)(e);r&&(r.loader_config=j[e])}(e.agentIdentifier,u||{}),c.jsAttributes??={},d.bv&&(c.jsAttributes.isWorker=!0),(0,i.x1)(e.agentIdentifier,c);const h=(0,N.D0)(e.agentIdentifier),v=[c.beacon,c.errorBeacon];O||(h.proxy.assets&&(I(h.proxy.assets),v.push(h.proxy.assets)),h.proxy.beacon&&v.push(h.proxy.beacon),E(),(0,g.US)("activatedFeatures",k.B),e.runSoftNavOverSpa&&=!0===h.soft_navigations.enabled&&h.feature_flags.includes("soft_nav")),l.denyList=[...h.ajax.deny_list||[],...h.ajax.block_internal?v:[]],l.ptid=e.agentIdentifier,(0,o.V)(e.agentIdentifier,l),e.ee=s.ee.get(e.agentIdentifier),void 0===e.api&&(e.api=_(e.agentIdentifier,n,e.runSoftNavOverSpa)),void 0===e.exposed&&(e.exposed=f),O=!0}},8374:(e,t,r)=>{r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},860:(e,t,r)=>{"use strict";r.d(t,{$J:()=>o,K7:()=>n,P3:()=>i});const n={ajax:"ajax",genericEvents:"generic_events",jserrors:"jserrors",logging:"logging",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",softNav:"soft_navigations",spa:"spa"},i={[n.pageViewEvent]:1,[n.pageViewTiming]:2,[n.metrics]:3,[n.jserrors]:4,[n.spa]:5,[n.ajax]:6,[n.sessionTrace]:7,[n.softNav]:8,[n.sessionReplay]:9,[n.logging]:10,[n.genericEvents]:11},o={[n.pageViewTiming]:"events",[n.ajax]:"events",[n.spa]:"events",[n.softNav]:"events",[n.metrics]:"jserrors",[n.jserrors]:"jserrors",[n.sessionTrace]:"browser/blobs",[n.sessionReplay]:"browser/blobs",[n.logging]:"browser/logs",[n.genericEvents]:"ins"}}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var o=n[e]={exports:{}};return r[e](o,o.exports,i),o.exports}i.m=r,i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((t,r)=>(i.f[r](e,t),t)),[])),i.u=e=>"nr-rum-1.274.0.min.js",i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="NRBA-1.274.0.PROD:",i.l=(r,n,o,a)=>{if(e[r])e[r].push(n);else{var s,c;if(void 0!==o)for(var u=document.getElementsByTagName("script"),d=0;d<u.length;d++){var l=u[d];if(l.getAttribute("src")==r||l.getAttribute("data-webpack")==t+o){s=l;break}}if(!s){c=!0;var f={296:"sha512-gkYkZDAwQ9PwaDXs2YM+rNIdRej1Ac1mupWobRJ8eahQcXz6/sunGZCKklrzi5kWxhOGRZr2tn0rEKuLTXzfAA=="};(s=document.createElement("script")).charset="utf-8",s.timeout=120,i.nc&&s.setAttribute("nonce",i.nc),s.setAttribute("data-webpack",t+o),s.src=r,0!==s.src.indexOf(window.location.origin+"/")&&(s.crossOrigin="anonymous"),f[a]&&(s.integrity=f[a])}e[r]=[n];var g=(t,n)=>{s.onerror=s.onload=null,clearTimeout(p);var i=e[r];if(delete e[r],s.parentNode&&s.parentNode.removeChild(s),i&&i.forEach((e=>e(n))),t)return t(n)},p=setTimeout(g.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=g.bind(null,s.onerror),s.onload=g.bind(null,s.onload),c&&document.head.appendChild(s)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.p="https://js-agent.newrelic.com/",(()=>{var e={840:0,374:0};i.f.j=(t,r)=>{var n=i.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else{var o=new Promise(((r,i)=>n=e[t]=[r,i]));r.push(n[2]=o);var a=i.p+i.u(t),s=new Error;i.l(a,(r=>{if(i.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var o=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;s.message="Loading chunk "+t+" failed.\n("+o+": "+a+")",s.name="ChunkLoadError",s.type=o,s.request=a,n[1](s)}}),"chunk-"+t,t)}};var t=(t,r)=>{var n,o,[a,s,c]=r,u=0;if(a.some((t=>0!==e[t]))){for(n in s)i.o(s,n)&&(i.m[n]=s[n]);if(c)c(i)}for(t&&t(r);u<a.length;u++)o=a[u],i.o(e,o)&&e[o]&&e[o][0](),e[o]=0},r=self["webpackChunk:NRBA-1.274.0.PROD"]=self["webpackChunk:NRBA-1.274.0.PROD"]||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),(()=>{"use strict";i(8374);var e=i(944),t=i(6344),r=i(9566);class n{agentIdentifier;constructor(e=(0,r.LA)(16)){this.agentIdentifier=e}#e(t,...r){if("function"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}addPageAction(e,t){return this.#e("addPageAction",e,t)}setPageViewName(e,t){return this.#e("setPageViewName",e,t)}setCustomAttribute(e,t,r){return this.#e("setCustomAttribute",e,t,r)}noticeError(e,t){return this.#e("noticeError",e,t)}setUserId(e){return this.#e("setUserId",e)}setApplicationVersion(e){return this.#e("setApplicationVersion",e)}setErrorHandler(e){return this.#e("setErrorHandler",e)}addRelease(e,t){return this.#e("addRelease",e,t)}log(e,t){return this.#e("log",e,t)}}class o extends n{#e(t,...r){if("function"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}start(){return this.#e("start")}finished(e){return this.#e("finished",e)}recordReplay(){return this.#e(t.G4.RECORD)}pauseReplay(){return this.#e(t.G4.PAUSE)}addToTrace(e){return this.#e("addToTrace",e)}setCurrentRouteName(e){return this.#e("setCurrentRouteName",e)}interaction(){return this.#e("interaction")}wrapLogger(e,t,r){return this.#e("wrapLogger",e,t,r)}}var a=i(860),s=i(9417);const c=Object.values(a.K7);function u(e){const t={};return c.forEach((r=>{t[r]=function(e,t){return!0===(0,s.gD)(t,"".concat(e,".enabled"))}(r,e)})),t}var d=i(7603);var l=i(1687),f=i(4234),g=i(5289),p=i(6154),h=i(384);const v=e=>p.RI&&!0===(0,s.gD)(e,"privacy.cookies_enabled");function m(e){return!!(0,h.dV)().o.MO&&v(e)&&!0===(0,s.gD)(e,"session_trace.enabled")}var b=i(6389);class y extends f.W{constructor(e,t,r=!0){super(e.agentIdentifier,t),this.auto=r,this.abortHandler=void 0,this.featAggregate=void 0,this.onAggregateImported=void 0,!1===e.init[this.featureName].autoStart&&(this.auto=!1),this.auto?(0,l.Ak)(e.agentIdentifier,t):this.ee.on("manual-start-all",(0,b.J)((()=>{(0,l.Ak)(e.agentIdentifier,this.featureName),this.auto=!0,this.importAggregator(e)})))}importAggregator(t,r={}){if(this.featAggregate||!this.auto)return;let n;this.onAggregateImported=new Promise((e=>{n=e}));const o=async()=>{let o;try{if(v(this.agentIdentifier)){const{setupAgentSession:e}=await i.e(296).then(i.bind(i,3861));o=e(t)}}catch(t){(0,e.R)(20,t),this.ee.emit("internal-error",[t]),this.featureName===a.K7.sessionReplay&&this.abortHandler?.()}try{if(t.sharedAggregator)await t.sharedAggregator;else{t.sharedAggregator=i.e(296).then(i.bind(i,9337));const{EventAggregator:e}=await t.sharedAggregator;t.sharedAggregator=new e}if(!this.#t(this.featureName,o))return(0,l.Ze)(this.agentIdentifier,this.featureName),void n(!1);const{lazyFeatureLoader:e}=await i.e(296).then(i.bind(i,6103)),{Aggregate:a}=await e(this.featureName,"aggregate");this.featAggregate=new a(t,r),n(!0)}catch(t){(0,e.R)(34,t),this.abortHandler?.(),(0,l.Ze)(this.agentIdentifier,this.featureName,!0),n(!1),this.ee&&this.ee.abort()}};p.RI?(0,g.GG)((()=>o()),!0):o()}#t(e,t){switch(e){case a.K7.sessionReplay:return m(this.agentIdentifier)&&!!t;case a.K7.sessionTrace:return!!t;default:return!0}}}var w=i(6630);class A extends y{static featureName=w.T;constructor(e,t=!0){super(e,w.T,t),this.importAggregator(e)}}var R=i(9908),E=i(2843),x=i(3878),_=i(782),N=i(1863);class T extends y{static featureName=_.T;constructor(e,t=!0){super(e,_.T,t),p.RI&&((0,E.u)((()=>(0,R.p)("docHidden",[(0,N.t)()],void 0,_.T,this.ee)),!0),(0,x.sp)("pagehide",(()=>(0,R.p)("winPagehide",[(0,N.t)()],void 0,_.T,this.ee))),this.importAggregator(e))}}var S=i(3969);class j extends y{static featureName=S.TZ;constructor(e,t=!0){super(e,S.TZ,t),this.importAggregator(e)}}new class extends o{constructor(t,r){super(r),p.gm?(this.features={},(0,h.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(t.features||[]),this.desiredFeatures.add(A),this.runSoftNavOverSpa=[...this.desiredFeatures].some((e=>e.featureName===a.K7.softNav)),(0,d.j)(this,t,t.loaderType||"agent"),this.run()):(0,e.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}run(){try{const t=u(this.agentIdentifier),r=[...this.desiredFeatures];r.sort(((e,t)=>a.P3[e.featureName]-a.P3[t.featureName])),r.forEach((r=>{if(!t[r.featureName]&&r.featureName!==a.K7.pageViewEvent)return;if(this.runSoftNavOverSpa&&r.featureName===a.K7.spa)return;if(!this.runSoftNavOverSpa&&r.featureName===a.K7.softNav)return;const n=function(e){switch(e){case a.K7.ajax:return[a.K7.jserrors];case a.K7.sessionTrace:return[a.K7.ajax,a.K7.pageViewEvent];case a.K7.sessionReplay:return[a.K7.sessionTrace];case a.K7.pageViewTiming:return[a.K7.pageViewEvent];default:return[]}}(r.featureName).filter((e=>!(e in this.features)));n.length>0&&(0,e.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)}))}catch(t){(0,e.R)(22,t);for(const e in this.features)this.features[e].abortHandler?.();const r=(0,h.Zm)();delete r.initializedAgents[this.agentIdentifier]?.api,delete r.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return r.ee.get(this.agentIdentifier).abort(),!1}}}({features:[A,T,j],loaderType:"lite"})})()})();</script> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="generator" content="Conductor CMS"> <meta name="author" content="Marketing Communications: Web | University of Notre Dame"> <meta name="apple-mobile-web-app-title" content="The Law School"> <meta name="application-name" content="The Law School"> <meta name="twitter:card" content="summary"> <meta name="twitter:site" content="@ndlaw"> <meta name="twitter:creator" content="@ndwebteam"> <meta property="og:site_name" content="The Law School"> <meta property="og:title" content="Roger - Alford | The Law School | University of Notre Dame"> <meta property="og:description" name="description" content="Established in 1869, Notre Dame Law School is the oldest Catholic law school in the United States. The Law School’s approach to legal education is informed and inspired by faith. Students are trained to view the law as a vocation in service to others, to explore the moral and ethical dimensions of the law, and to disco"> <meta property="og:type" content="website"> <meta property="og:url" content="https://law.nd.edu/directory/roger-alford/"> <meta property="og:image" content="https://static.nd.edu/images/webclips/default/webclip-256.png"> <meta property="og:locale" content="en_US"> <link rel="preconnect" href="https://static.nd.edu/" crossorigin> <link rel="preconnect" href="https://ajax.googleapis.com/"> <link rel="canonical" href="https://law.nd.edu/directory/roger-alford/"> <title>Roger P. Alford | The Law School | University of Notre Dame</title> <link rel="manifest" href="/manifest.json"> <link rel="shortcut icon" href="/favicon.ico"> <link rel="apple-touch-icon" sizes="57x57" href="https://static.nd.edu/images/webclips/default/webclip-57.png"> <link rel="apple-touch-icon" sizes="60x60" href="https://static.nd.edu/images/webclips/default/webclip-60.png"> <link rel="apple-touch-icon" sizes="72x72" href="https://static.nd.edu/images/webclips/default/webclip-72.png"> <link rel="apple-touch-icon" sizes="76x76" href="https://static.nd.edu/images/webclips/default/webclip-76.png"> <link rel="apple-touch-icon" sizes="114x114" href="https://static.nd.edu/images/webclips/default/webclip-114.png"> <link rel="apple-touch-icon" sizes="120x120" href="https://static.nd.edu/images/webclips/default/webclip-120.png"> <link rel="apple-touch-icon" sizes="144x144" href="https://static.nd.edu/images/webclips/default/webclip-144.png"> <link rel="apple-touch-icon" sizes="152x152" href="https://static.nd.edu/images/webclips/default/webclip-152.png"> <link rel="apple-touch-icon" sizes="180x180" href="https://static.nd.edu/images/webclips/default/webclip-180.png"> <link rel="icon" type="image/png" href="https://static.nd.edu/images/monogram/favicon-16.png" sizes="16x16"> <link rel="icon" type="image/png" href="https://static.nd.edu/images/monogram/favicon-32.png" sizes="32x32"> <link rel="icon" type="image/png" href="https://static.nd.edu/images/monogram/favicon-96.png" sizes="96x96"> <link rel="mask-icon" href="https://static.nd.edu/images/monogram/monogram.svg" color="#002b5c"> <meta name="msapplication-TileColor" content="#002b5c"> <meta name="msapplication-TileImage" content="https://static.nd.edu/images/webclips/default/webclip-144.png"> <meta name="theme-color" content="#002b5c"> <link rel="stylesheet" type="text/css" href="/stylesheets/site.1731620480.css" /> <!--[if lte IE 9]> <link href="/stylesheets/themes/ndt/2.4/grid-float.css" rel="stylesheet"> <![endif]--> <!--[if lt IE 9]> <script src="https://static.nd.edu/js/html5shiv.min.js"></script> <script src="https://static.nd.edu/js/respond.js"></script> <![endif]--> <script async src="https://www.googletagmanager.com/gtag/js?id=G-5HWQMJB6ZC"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-5HWQMJB6ZC', { 'groups': 'network' }); gtag('config', 'G-5V6ZYQNCNJ', { 'groups': 'site' }); </script> <script>var ndn=document.createElement("script");ndn.async=true;ndn.id="ndalertbarscript";ndn.src="https://emergency.nd.edu/api/alert/";var s=document.getElementsByTagName("script")[0];s.parentNode.insertBefore(ndn, s);</script> <link rel="alternate" type="application/atom+xml" title="News" href="/news-events/news.atom" /> </head> <body id="directory-roger-alford" class="directory-roger-alford directory-roger-alford full-width directory-person nav-top-true"> <nav class="skip-links" aria-label="Skip links"> <ul> <li><a href="#content" accesskey="C" title="Skip to content = C">Skip To Content</a></li> <li><a href="#nav" accesskey="S" title="Skip to navigation = S">Skip To Navigation</a></li> <li><a href="#search-input">Skip To Search</a></li> </ul> </nav> <div class="wrapper" id="wrapper"> <header id="header" role="banner" class="site-header"> <nav class="brandbar theme-bb-blue" aria-label="Department navigation"> <div class="row row-container"> <ul class="column"> <li class="dept-nd"><a href="https://www.nd.edu/">University <i>of</i> Notre Dame</a></li> </ul> </div> </nav> <div class="titlebar theme-tb-gold "> <div class="row row-container"> <div class="column"> <p class="site-title"><a href="/" accesskey="H">The Law School</a></p> <a href="#nav" class="btn-nav-mobile"> <svg version="1.1" class="icon-menu" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 20 20" xml:space="preserve"> <line class="ni ni1" stroke-width="2" stroke-linecap="square" stroke-miterlimit="10" x1="0.98" y1="2" x2="18.94" y2="2"/> <line class="ni ni2" stroke-width="2" stroke-linecap="square" stroke-miterlimit="10" x1="0.98" y1="8.69" x2="18.94" y2="8.69"/> <g class="ni ni3"> <path d="M2.18,19.91l-0.95-2.58l-0.28-0.81l0.01,1.42v1.97H0.04v-5.17h1.08l1.07,2.81l0.35,0.97l0.35-0.97 l1.07-2.81h1.08v5.17H4.12v-1.97l0.01-1.42l-0.28,0.81l-0.95,2.58H2.18z"/> <path d="M9.7,14.74v0.86H6.96v1.23h2.42v0.86H6.96v1.35h2.86v0.86H6.04v-5.17H9.7z"/> <path d="M12.15,17.25l-0.51-0.79l0.01,1.24v2.22h-0.93v-5.17h0.85l1.78,2.66l0.51,0.79l-0.01-1.24v-2.22h0.93v5.17 h-0.85L12.15,17.25z"/> <path d="M15.74,18.02v-3.28h0.93v3.28c0,0.63,0.2,1.12,1.18,1.12c0.98,0,1.18-0.49,1.18-1.12v-3.28h0.93v3.28 c0,1.13-0.5,1.98-2.11,1.98C16.23,20,15.74,19.15,15.74,18.02z"/> </g> </svg> <span class="visibility-hidden">Menu</span> </a> <div class="header-search"> <form method="get" action="/search/" role="search" id="search" class="search-form" aria-label="Site search"><input type="hidden" name="as_sitesearch" value="law.nd.edu"><input type="hidden" name="entqr" value="3"><label for="search-input">Search</label><input type="search" name="q" id="search-input" class="search-input" placeholder="Search"><button type="submit" class="search-button"><svg data-icon="search" class="icon"><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#icon-search"></use></svg> <span>Search</span></button></form> </div> </div> </div> <div class="row row-container"> <nav id="nav-top" class="nav-top" role="navigation" aria-label="Primary navigation"> <div class="column"><div id="primary"><ul class="nav-level-1 depth_1"><li id="primary_93099" class="first"><a href="/"><span class='icon' data-icon='home'></span></a></li><li id="primary_93101" class="li-has-children"><a href="/about/">About</a></li><li id="primary_93106" class="li-has-children"><a href="/academics/">Academics</a></li><li id="primary_93138" class="li-has-children"><a href="/admissions/">Admissions</a></li><li id="primary_93165" class="li-has-children"><a href="/faculty-scholarship/">Faculty & Scholarship</a></li><li id="primary_93173" class="li-has-children"><a href="/student-life/">Student Life</a></li><li id="primary_93178" class="li-has-children"><a href="/professional-life/">Professional Life</a></li><li id="primary_93184" class="li-has-children"><a href="/news-events/">News & Events</a></li><li id="primary_93187" class="last active"><a href="/contact/" aria-current="page" class="current current-last">Contact</a></li></ul></div></div> </nav> </div> <div class="row row-container"> <div class="column"> <div class="header-util"> <nav> <ul> <li>Resources For:</li> <li><a href="/for-current-students/" >Current Students</a></li> <li><a href="/for-faculty-staff/" >Faculty & Staff</a></li> <li><a href="/for-alumni/" >Alumni</a></li> </ul> </nav> </div><!-- .header-util --> </div> </div> </div><!-- .titlebar --> </header> <div class="header-image"></div> <div class="page-header short-header"> <div class="row row-container align-center"> <div class="column medium-12 xlarge-10"> </div> </div> </div> <div id="content" class="page-content cf"> <div class="row row-container"> <main class="alpha small-12 medium-8 medium-push-4 large-9 large-push-3 medium-order-2 columns" role="main"> <ol class="breadcrumbs"><li><a href="/">Home</a> › </li><li><a href="/faculty-directory/">Faculty Directory</a> › </li><li>Roger P. Alford</li></ol> <div class="row align-center"><div class="column medium-10"> <h1 class="page-title">Roger P. Alford</h1> <p class="image-right"><img src="/assets/340198/500x500/roger_alford_web.jpg" alt="Roger P. Alford"></p> <p class="directory-title">Professor of Law</p> <p> <b>Office:</b> 3119 Eck Hall of Law<br> <b>Phone:</b> 574-631-3771<br> <b>Fax:</b> 574-631-4197<br> <b>Email:</b> <a href="mailto:ralford@nd.edu">ralford@nd.edu</a><br> <b>Staff Assistant:</b> <a href="mailto:bsmith48@nd.edu">Beth Smith</a><br> <b>CV:</b> <a href="https://law.nd.edu/assets/489157/rogeralford_cv_2022.pdf">View</a><br /> <strong>SSRN:</strong> <a href="http://papers.ssrn.com/sol3/cf_dev/AbsByAuth.cfm?per_id=460060">View</a></strong> </p> <p>Roger P. Alford joined the Notre Dame Law faculty in January 2012. Alford teaches, writes and consults in a wide range of subject-matter areas, including international trade, international arbitration, global antitrust, and transnational civil litigation.</p> <p>Alford earned his B.A. with Honors from Baylor in 1985, his J.D. with Honors from New York University, and his LL.M. from Edinburgh University. Before entering the legal academy, he served as a law clerk to Judge James Buckley of the United States Court of Appeals for the D.C. Circuit, and Judge Richard Allison of the Iran-United States Claims Tribunal in The Hague, Netherlands. He practiced law with Hogan & Hartson (now Hogan Lovells) in Washington, D.C., and was also a senior legal advisor to the Claims Resolution Tribunal for Dormant Activities in Zurich, Switzerland.</p> <p>In addition to publishing widely in leading law reviews and journals, Alford is the general editor of <a href="http://kluwerarbitrationblog.com/">Kluwer Arbitration Blog</a> and on the Executive Committee of the Institute for Transnational Arbitration.</p> <p>He is Concurrent Professor at the Keough School of Global Affairs, a Faculty Fellow at the Kellogg Institute for International Studies, the Nanovic Institute for European Studies, and the Pulte Institute for Global Development. He was the Academic Director of the London Global Gateway from 2016-2017 and Associate Dean for Graduate and International Programs from 2013-2017.</p> <p>He served as the Deputy Assistant Attorney General for International Affairs with the Antitrust Division of the U.S. Department of Justice from 2017-2019.</p> <h3>Courses Taught</h3> <p>LAW70433, Law of International Trade</p> <p>LAW70435, Intl Commercial Arbitration</p> <h3>Scholarship</h3> <p><em>How Intermediaries Entrench Google’s Position in the Advertising Display Market,</em> in<strong><em> </em></strong><span style="font-variant: small-caps;">Intermediaries in Commercial Law (</span>Paul Davies, Cheng Han Tan, ed. 2022) (forthcoming).<br><em>Empirical Analysis of National Court Enforcement of International Commercial Arbitration Awards, </em>39 J. Int’l Arb. 299 (2022)(with Crina Baltag, Matt Hall, and Monique Sasson).<br><em>The Bipartisan Consensus on Big Tech, </em> 71 Emory L. J. 893 (2022).<br><em>On Foxes and Hedgehogs: John Nagle’s Many Means to One Great End</em>, 97 Notre Dame L. Rev. Reflection 87 (2022)<br><em>Anticompetition in Buying and Selling Homes</em>, 44 CATO Reg. 28 (Summer 2021) (with Benjamin H. Harris)<br><em>Promoting Procedural Norms in Competition Law Enforcement,</em> 68 Kansas L. Rev. 1165 (2020).<br><em>The Professor as Institutional Entrepreneur,</em> 47 Pepperdine L. Rev. 269 (2019).<br><em>Judicial Barriers to the Enforcement of Treaties,</em> in TREATIES IN UNITED STATES LAW (Paul Dubinsky, Greg Fox, Brad Roth, 2016).<br><em>Perceptions and Reality: The Enforcement of Foreign Arbitral Awards in China,</em> 33 UCLA Pacific Basin Law Review 1 (2016).<br>Bond <em>and the Vienna Rules,</em> 90 Notre Dame Law Review Rev. 1561 (2015)<br><em>The Future of Human Rights Litigation After</em>Kiobel, 89 Notre Dame L. Rev. (2014)<br><em>Book Review: </em>Jeremy Waldron: “PARTLY LAWS COMMON TO ALL MANKIND”: FOREIGN LAW IN AMERICAN COURTS, 66 Review of Metaphysics 609 (2013)<br><em>The Convergence of International Arbitration and International Trade,</em> 53 Santa Clara L. Rev. ___ (2013)<br><em>A Broken Windows Theory of International Corruption,</em> 73 Ohio State L. J. 1253 (2012)<br><em>Ancillary Discovery to Prove Denial of Justice,</em> 52 Virginia J. Int’l L. 127 (2012)<br><em>Claims Resolution Tribunal for Dormant Accounts in Switzerland,</em> in AN INTRODUCTION TO INTERNATIONAL COURTS AND TRIBUNALS, 575 (ed. Chiara Giorgetti) (Martinus Nijhof Publishers, 2012)<br><em>Civil Law in the Wisdom Literature,</em> (with Leslie Alford), in THE BIBLE AND CIVIL LAW, (ed. Robert Cochran) (InterVarsity Press 2013)<br><em>Moral Reasoning in International Law,</em> (with James Tierney) in THE ROLE OF ETHICS IN INTERNATIONAL LAW, 11 (ed. Donald Childress) (Cambridge University Press, 2012)<br><em>The Self-Judging WTO Security Exception,</em> 2011 Utah L. Rev. 697<br><em>International Law as an Interpretive Tool, 1900-1945,</em> in THE U.S. SUPREME COURT AND INTERNATIONAL LAW: CONTINUITY OR CHANGE? 257 (eds. David Sloss, Michael Ramsey, William Dodge) (Oxford University Press, 2011)<br><em>International Law and Constitutional Interpretation: Change and Continuity: A Response to Mark<br>Tushnet,</em> in THE U.S. SUPREME COURT AND INTERNATIONAL LAW: CONTINUITY OR CHANGE? 518 (eds. David Sloss, Michael Ramsey, William Dodge) (Oxford University Press, 2011)<br><em>Apportioning Responsibility Among Joint Tortfeasors for International Law Violations,</em> 38 Pepperdine Law Review 233 (2011) (symposium issue)<br><em>The Future of Investment Arbitration,</em> (Oxford University Press, 2009) (co-editor with Catherine Rogers)<br><em>The Nobel Effect: Nobel Peace Laureates as International Norm Entrepreneurs,</em> 49 Virginia Journal of International Law 61 (2008)<br><em>Inferior Courts and Constitutional Comparativism,</em> 77 Fordham Law Review 647 (2008)<br><em>Free Speech and the Case for Constitutional Exceptionalism,</em> 106 Michigan Law Review 1071 (2008)<br><em>Arbitrating Human Rights,</em> 83 Notre Dame Law Review 505 (2008)<br><em>International Dispute Resolution and State Succession,</em> 23 Arbitration International 511 (2007)<br><em>Evidentiary Practices Before the Iran-United States Claims Tribunal,</em> THE IRAN-UNITED STATES CLAIMS TRIBUNAL AT 25: THE CASES EVERYONE NEEDS TO KNOW FOR INTERNATIONAL AND INVESTOR-STATE ARBITRATION, 165 (Chris Drahozal and Chris Gibson, eds. Oxford University Press 2007)<br><em>Foreign Relations as a Matter of Interpretation: The Use and Abuse of</em> Charming Betsy, 67 Ohio State L. J. 1339 (2006)<br><em>Reflections on US—Zeroing: A Study on Judicial Overreaching by the WTO Appellate Body</em>, 44 Columbia J. Trans. L. 196 (2006)<br><em>Four Mistakes in the Debate on Outsourcing Authority,</em> 69 Albany Law Review 653 (2006)<br><em>Holocaust Restitution: Perspectives on the Litigation and Its Legacy</em> (NYU Press 2006) (co-editor with Michael Bazyler)<br><em>Arbitrating Human Rights,</em> 99 ASIL Proc. 233 (2005)<br><em>Our Constitution in International Equipoise,</em> 53 UCLA Law Rev. 1 (2005)<br><em>In Search of a Theory for Constitutional Comparativism,</em> 52 UCLA Law Rev. 639 (2005)<br><em>International Legal Developments in Review: 2003,</em> 38 The International Lawyer 115 (2004) (General Editor)<br><em>Foreign Law Year in Review: 2003,</em> 38 The International Lawyer 521 (2004) (General Editor)<br><em>Federal Courts, International Tribunals, and the Continuum of Deference: A Postscript on</em> Lawrence v. Texas, 44 Virginia Journal of International Law 913 (2004)<br><em>Binding Sovereign Non-Signatories,</em> 19 Mealey’s International Arbitration Reports 1 (March 2004)<br><em>Misusing International Sources to Interpret the Constitution,</em> 98 American Journal of International Law 57 (2004)</p> <h3>Areas of Expertise</h3> <ul><li> Comparative Law<li>International Law </ul> </div></div> </main> <div class="beta small-12 medium-4 medium-pull-8 large-3 large-pull-9 medium-order-1 columns"> <nav id="nav" class="nav-site nav-full" role="navigation" aria-label="Primary navigation"> <ul class="nav-level-1 depth_1"><li class="first nav-93099"><a href="/">Home</a></li><li class="li-has-children nav-93101"><a href="/about/">About</a></li><li class="li-has-children nav-93106"><a href="/academics/">Academics</a></li><li class="li-has-children nav-93138"><a href="/admissions/">Admissions</a></li><li class="li-has-children nav-93165"><a href="/faculty-scholarship/">Faculty & Scholarship</a></li><li class="li-has-children nav-93173"><a href="/student-life/">Student Life</a></li><li class="li-has-children nav-93178"><a href="/professional-life/">Professional Life</a></li><li class="li-has-children nav-93184"><a href="/news-events/">News & Events</a></li><li class="last active nav-93187"><a href="/contact/" aria-current="page" class="current current-last">Contact</a></li></ul> <ul> <li><a href="/for-current-students/" >Current Students</a></li> <li><a href="/for-faculty-staff/" >Faculty & Staff</a></li> <li><a href="/for-alumni/" >Alumni</a></li> </ul> </nav> </div> </div> </div><!-- .site-content --> <footer id="footer" class="site-footer vcard" role="contentinfo"> <div class="row row-container"> <div class="column"> <div class="footer-inner"> <p class="copyright org"> <a href="https://www.nd.edu/copyright/">Copyright</a> © 2024 <a href="https://www.nd.edu/" class="org">University of Notre Dame</a> </p> <p class="contact-info adr"> <a href="/" class="site-link url fn">The Law School</a> <span class="address"><span class="locality">Notre Dame</span>, <span class="region" title="Indiana">IN</span> <span class="postal-code">46556</span> <span class="country-name">USA</span></span> </p> <p><a href="/contact/">Contact</a></p> <p> <a href="https://www.nd.edu/about/accessibility/">Accessibility Information</a><br> <a href="https://police.nd.edu/crime-prevention-and-safety/yearly-security-fire-safety-reports/">Annual Clery & Fire Safety Reports</a> </p> <ul class="list-social no-bullets"> <li><a href="https://www.facebook.com/NotreDameLawSchool/"><span class="icon" data-icon="facebook-official"></span> Facebook</a></li> <li><a href="https://twitter.com/ndlaw/"><span class="icon" data-icon="twitter-x"></span> X/Twitter</a></li> <li><a href="https://www.instagram.com/notredamelaw/"><span class="icon" data-icon="instagram"></span> Instagram</a></li> <li><a href="https://www.linkedin.com/school/university-of-notre-dame-law-school/"><span class="icon" data-icon="linkedin"></span> LinkedIn</a></li> <li><a href="/news-events"><span class="icon" data-icon="feed"></span> Today@NDLS</a></li> </ul> <a href="https://www.nd.edu/" class="ndmark"><img src="https://static.nd.edu/images/marks/blue/ndmark300.png" alt="University of Notre Dame"></a> </div> </div> </div> </footer> </div><!-- .wrapper --> <script src="/javascripts/jquery.1600091027.js"></script> <script src="/javascripts/themes/ndt/2.4/ndt.js"></script> <script src="/javascripts/site.1702052980.js"></script> </body> </html>