Because eq is used to compare things. You are trying to use it to assign a value. You muse use = for that.
is a void context, because you are
performing a comparison (see 1.) but not doing anything with the result. There is not context for the compare, hence it is a void (empty) context.
Perhaps you should ask him about the whole children bearing thing...