data MountF f
= View (f FilePath)
| ..
data MountConfig
= ViewConfig View.Config
| ..
This ^ could be combined into:
data MountF f g
= View (f FilePath) (g View.Config)
then:
type MountConfig = MountF (Const Unit) Identity
type Mount = MountF Identity (Const Unit)
type MountType = MountF (Const Unit) (Const Unit)