Can you point to relevant code on this one?  Looking at implementation of `_eval_*` hasn't been helpful in understanding what you mean.  

`MatrixExpr._eval_transpose` returns `Transpose(self)` by default.  I don't think the `None` issue will be an issue within this module.  I'd still be happy to learn the pre-existing pattern though.  Maybe matrix expressions should change.