design wise, I did wonder about getting rid of the...
# contribute
h
design wise, I did wonder about getting rid of the "XArgs" classes and just pass the properties via named parameters to the resource ctors. Separate structs for options is a JS/TS pattern so it makes perfect sense there, but C#/F# you could go either way. Also when you get to something more complex let me know how the IO type works out. As your using F#, a functional tip IO.SelectMany = monadic bind.