Higher order abstract syntax is a method for formally representing syntax with binders by using binders in the meta language to represent binders in the object language. A problem with higher order abstract syntax is that it is inconsistent with standard set theoretic semantics. In my talk I will give an example demonstrating the problem and describe how to construct a model of higher order abstract syntax using M-sets over a monoid M of explicit substitutions.