let ProxmoxServerConfig = { id : Natural, address : Text } let Proxmox = < LXC : ProxmoxServerConfig | VM : ProxmoxServerConfig > let lxc = \(id : Natural) -> \(address : Text) -> Proxmox.LXC { id, address } let vm = \(id : Natural) -> \(address : Text) -> Proxmox.VM { id, address } let ipAddress = \(server : Proxmox) -> merge { LXC = \(config : ProxmoxServerConfig) -> config.address , VM = \(config : ProxmoxServerConfig) -> config.address } server in { LXC = Proxmox.LXC, VM = Proxmox.VM, lxc, ipAddress }