if & (and/or short-circuiting) integration: seems fine; more testing