[[!comment format=mdwn
 username="joey"
 subject="""comment 7"""
 date="2016-03-17T17:30:44Z"
 content="""
This looks to be adding a new type parameter:

`Property NoInfo DebianOnly`

So does [[type_level_resource_conflict_detection|type_level_port_conflict_detection]].

Would it make sense to include both targeted OS's and used resources in the
same list of types? Otherwise, we end up with 4 type parameters, which is
increasingly a mouthful to write:

`Property NoInfo DebianOnly '[]`

Since most properties use no ports or other resources, combining the
resources lets type alises like DebianOnly be all that needs to be
specified:

`Property NoInfo DebianOnly`

When there is a resource, can use `':` to add it to the list:

`Property NoInfo (Port 80 ': Port 443 ': DebianOnly)`

Seems reasonable. The implementation of combining such type lists may get
complicated, because there will be different rules for target OS's vs
resources.

----

Could also move the NoInfo|HasInfo into the type list. A list without
HasInfo would be used instead of an explicit NoInfo, so:

`Property (HasInfo ': DebianOnly)`

"""]]
