namespace SimulatingNominalSubtyping { declare const NsType ; class Ns { value : number ; [ NsType ] : void ; constructor ( value ) { this . value = value ; } } declare const LbfsType ; class Lbfs { value : number ; [ LbfsType ] : void ; constructor ( value ) { this . value = value ; } } function acceptNs ( momentum ) { console . log ( `Momentum: ${ momentum . value } Ns` ) ; } }