Hello, I am working on making a property to setup a CMS, involving configuration with passwrod... I have a first property installing the required packages with signature : wp_pkgs :: Property Debian I have made a second property to store the password/priv data to the 'proper file' which has signature (the data is stored in the privData with context the hostname and field the 'DbId') type DbId = String wp_dbconf :: HostName -> DbId -> Property (Debian + HasInfo) I now want to combine those properties to make a single entry point using the following code : wordpressSite :: HostName -> DbId -> Property (Debian + HasInfo) wordpressSite hn id = desc ==> wp_conf hn id where desc :: String desc = ("Installing and configuring WordPress to answer at name " ++ hn) wp_conf :: HostName -> DbId -> Property (Debian + HasInfo) wp_conf hn id = wp_pkgs `before` wp_dbconf hn id which gives me this error : /src/Propellor/Property/SiteSpecific/IPANEMA.hs:221:7: error: • Couldn't match type ‘'Propellor.Types.MetaTypes.Targeting 'OSDebian’ with ‘'Propellor.Types.MetaTypes.WithInfo’ Expected type: Property (Debian + HasInfo) Actual type: CombinedType (Property Debian) (Property (Propellor.Types.MetaTypes.MetaTypes '['Propellor.Types.MetaTypes.Targeting 'OSDebian, 'Propellor.Types.MetaTypes.WithInfo])) • In the expression: wp_pkgs `before` wp_dbconf hn id In an equation for ‘wp_conf’: wp_conf hn id = wp_pkgs `before` wp_dbconf hn id In an equation for ‘wordpressSite’: wordpressSite hn id = desc ==> wp_conf hn id where desc :: String desc = ("Installing and configuring WordPress to answer at name " ++ hn) wp_conf :: HostName -> DbId -> Property (Debian + HasInfo) wp_conf hn id = wp_pkgs `before` wp_dbconf hn id | 221 | wp_pkgs | ^^^^^^^... I understand that `before` is not happy having different types of Property on both sides. I then tried also using *props* (with or without embedding it within a *propertyList*). Here is the version with *propertyList* wp_conf hn id = propertyList "Setting up a wordpress site" $ props & wp_pkgs & wp_dbconf hn id Which also complains that I am trying to combine Debian with (Debian + HasInfo) (or at least that is how I understand the error message) : src/Propellor/Property/SiteSpecific/IPANEMA.hs:221:52: error: • Couldn't match type ‘'Propellor.Types.MetaTypes.Targeting 'OSDebian’ with ‘'Propellor.Types.MetaTypes.WithInfo’ Expected type: Props (Propellor.Types.MetaTypes.MetaTypes '['Propellor.Types.MetaTypes.Targeting 'OSDebian, 'Propellor.Types.MetaTypes.WithInfo]) Actual type: Props (Propellor.Types.MetaTypes.MetaTypes (Propellor.Types.MetaTypes.Combine '['Propellor.Types.MetaTypes.Targeting 'OSDebian] '['Propellor.Types.MetaTypes.Targeting 'OSDebian, 'Propellor.Types.MetaTypes.WithInfo])) • In the second argument of ‘($)’, namely ‘props & wp_pkgs & wp_dbconf hn id’ In the expression: propertyList "Setting up a wordpress site" $ props & wp_pkgs & wp_dbconf hn id In an equation for ‘wp_conf’: wp_conf hn id = propertyList "Setting up a wordpress site" $ props & wp_pkgs & wp_dbconf hn id | 221 | propertyList "Setting up a wordpress site" $ props | ^^^^^... I guess that is a regular pattern (mixing few properties with *HasInfo* with other that do not *HasInfo*) but all the code that I am looking at seems to work with *props* or some *before* or *require* combination. I don't understand what I am doing *wrong* here.