Explain why $E[XY\mid X]=XE[Y\mid X]$ I'm getting through the logic of $E[XY\mid X]=X(E[Y\mid X])$: since $E[X\mid X]=X$ is a constant, so we can pull the term $X$ out, and we get $X(E[Y\mid X])$. Is this the right way to think about this proposition?
This is a generalization of linearity. For conventional expectation, we have $E(XY)=XE(Y)$ when $X$ is a constant. Conventional expectation can be thought of as expectation with respect to the trivial sigma algebra, and a function is measurable w.r.t. the trivial sigma algebra iff it's constant. The general version is that $E(XY\mid F)=XE(Y\mid F)$ iff $X$ is $F$-measurable, where $F$ is some sigma algebra.

Intuitively, for $X$ to be $F$ measurable means that you "know" the value of $X$ given the information $F$, and $E(Z\mid F)$ is the "best guess" as to the value of $Z$ given the information $F$, so obviously if you know $X$ then your best guess for $XY$ is going to be $X$ times your best guess for $Y$.
When you write $\operatorname{E}(\cdot\mid X),$ then within that narrow context you're treating the value of $X$ as given, thus "constant" and not "random".