Data.Semigroup.Apply

data Trav f

data App f m