hide the usage of the semigroup behind the scenes from
 the error message and give a more helpful error
message when user tries to apply a non-appendable
type to the  validation