[[!comment format=mdwn
 username="joey"
 subject="""comment 1"""
 date="2016-06-17T01:49:24Z"
 content="""
Currently, Chroot.provisioned' is passed a `systemdonly :: Bool`,
which limits the chroot provisioning to the Systemd.installed
property.

What you want to do needs a more flexible interface there.
Add a `Maybe ChildProperty` parameter to specify what should be done
to finish provisioning the chroot.

Then, change the Systemd.Container data type:

	-data Container = Container MachineName Chroot.Chroot Host
	+data Container metatypes = Container
	+	{ containerMachinName :: MachineName
	+	, containerChroot :: Chroot.Chroot
	+	, containerHost :: Host
	+	, containerChrootProvision :: Property metatypes
	+	}

And Systemd.nspawned will pass
`(Just (toChildProperty (containerChrootProvision c)))` to `Chroot.provisioned'`

Systemd.Container constructor functions will default to setting 
`containerChrootProvision = Systemd.Core.installed`, but
the user can then change the Container to add more properties
to run in the chroot when provisioning it.

(There's also a tricky bit where Systemd.nspawned needs to extract any info
from containerChrootProvision and add it onto its own info to propigate
it. If you do the rest of it, I will handle this tricky bit..)
"""]]
