[[!comment format=mdwn
 username="joey"
 subject="""comment 9"""
 date="2016-03-19T18:35:20Z"
 content="""
I'm currently using a simple sum type to describe the target OS:

	data OS = OSDebian | OSBuntish | OSFreeBSD

This could in theory specify much more information about the
OS version and architecture.
Even type-level strings could be used to include release names.

But, the old version of ghc being targeted doesn't have the nice
Data.Type.Equality stuff; I had to implement my own clumsily
and it would quickly hit a combinatorial explosion with more data.

(There may be a better way than the way I found which works back to ghc 7.6.3.)

Of course, we can always add more detail later. Since type aliases are
used, `Propety Debian` which only specifies `OSDebian` now, could easily
be changed at some point to specify `OSDebian AnyVersion AnyArch`.
"""]]
