Tiny F# EDSL for creating system / hardware IDs on Windows using WMI classes
SystemID EDSL Module: module SystemID = open System open System.Management type ClassName = string type PropertyKey = string type PropertyValue = obj type IDComponent = ClassName * PropertyKey [] type IDQueryResult = ClassName * (PropertyKey * PropertyValue)[][] let internal qs (t:ClassName) (ps:PropertyKey[]) = try use mos = new ManagementObjectSearcher( "Select " + String.Join(...