Definable sets à la Jech Jech in Set Theory, p. 175 defines definable sets over a given model $(M,\in)$ (where $M$ is a set) as those sets (= subsets of $M$) $X$ with a formula $\phi$ in the set of formulas of the language $\lbrace \in \rbrace$ and some $a_1,\dots,a_n \in M$ such that 
$$ X = \lbrace x \in M : (M,\in) \models \phi[x,a_1,\dots, a_n]\rbrace$$
Jech defines
$$ \text{def}(M) := \lbrace X \subset M : X\ \text{is definable over }\ (M,\in)\rbrace $$
So far, everything is clear to me.
But then, Jech claims:

Clearly, $M \in \text{def}(M)$ and $M \subset \text{def}(M) \subset \text{P}(M)$.

It is clear to me that and why $M \in \text{def}(M)$ and that and why $\text{def}(M) \subset \text{P}(M)$. But I cannot see at once that and why $M \subset \text{def}(M)$ for arbitrary sets $M$.
Is this a typo in Jech's Set Theory or did I misunderstand something?
 A: If $M$ is transitive and $a \in M$ then $a \subseteq M$ and moreover $$a = \{x \in M : (M,{\in}) \vDash x \in a\}.$$ So $a \in \operatorname{def}(M)$.
A: It does seem like a typo in Jech. However we are going to be interested in transitive sets $M$, so it's not a big deal. 
These mistakes can and do happen, a lot. They appear in every textbook, sometimes they are more prominent and sometimes less. Reading and learning you have to know when these typos, or mistakes, matter for the theorems of interest, and when they are not. In this case any issue is negligible, because in the next paragraph Jech defines $L_\alpha$ and $L$ and goes on to claim it's a transitive class.
But it's still a typo, for if $M$ is a non-transitive model then there is some $m\in M$ such that $m\nsubseteq M$. If $\operatorname{def}(M)\subseteq\mathcal P(M)$, then clearly $m\notin\operatorname{def}(M)$ and so $M\nsubseteq\operatorname{def}(M)$.
But for transitive $M$'s this is not an issue, of course as $a=\{x\in M\mid M\models x\in a\}$ for $a\in M$.
