fixed a bug in code-generation for and (by reimplementing and as a special form)