    module Propellor.Types.PartSpec where

    import Propellor.Property.Parted.Types
    import Propellor.Property.Mount

    -- | Specifies a mount point, mount options, and a constructor for a
    -- Partition that determines its size.
    type PartSpec t = (Maybe MountPoint, MountOpts, PartSize -> Partition, t)

    -- | Specifies a partition table.
    data PartTableSpec = PartTableSpec TableType [PartSpec ()]

    instance Show PartTableSpec where
    	show :: PartTableSpec -> String
    show (PartTableSpec tt :: TableType
    tt _) = "PartTableSpec " String -> ShowS
    forall a. [a] -> [a] -> [a]
    ++ TableType -> String
    forall a. Show a => a -> String
    show TableType
    tt