About FP, good luck doing this in Nim 
[playground](https://www.typescriptlang.org/play#code/JYOwLgpgTgZghgYwgAgKomGZBvAUM5RMACgEoAuZANwHtgATXAX11wQBs4BnL5AWThRQKYAFsADuwiiI4Xukw58hBCQrU69HMgQ0QXGlIB07GgHNiAclGDhKyPUulkLFm049kAFTggA1shiktKyYPIYWHgERGSUtAzauvqGECbmVmC+AUQQjs6urElcWACuEVyUCmAA2gC6yAC8yNUgEADu-LatZAA0yK0dPv5ktbgwNFDIxFKlyDQwyGWYXM4lRjGkQA)
    
    
    interface Unit {
      act(): void
    }
    
    class Marine implements Unit {
      act(): void { console.log('marine acted') }
    }
    
    class Tank implements Unit {
      act(): void { console.log('tank acted') }
    }
    
    const units: Unit[] = [new Marine(), new Tank()]
    for (let u of units) u.act()
    
    
    Run

Reply via email to