prepend :: (Monoid a, Argument arg, Singleton arg a) =>
           OptBuilding arg a
prepend = setter (\a acc -> return $ singleton a <> acc)
prepend :: (Monoid a, Argument arg, Singleton arg a) =>
           OptBuilding arg a
prepend = setter (\a acc -> return $ singleton a <> acc)
prepend = setter (\a acc -> return $ singleton a <> acc)