move (defn patch? ...) closer to usage
Allow lists to be patches too.

compose actually returns a list because of the use of cons,
so the results of compose for subpatches still need to be
recognized as patches even though they're not vectors, as
previously expected.