a note on testing outputs: test outputs look like the following, for example: my_and 0 0 0 (0 0) my_and 1 0 1 (0 0) my_and 2 1 0 (0 0) my_and 3 1 1 (1 1) in these outputs, the intent is that for each set of parens, the numbers in the middle should be identical. this should hopefully be convenient for scripting (and if it isn't, i apologise ;))