Add a recursive version of and