I'd love to see the parsing as a WRot.TryParse() method that follows .NETs own types and this code simplified. Same goes for other custom types below. Not a blocker, IMO, can be left for another time.