https://github.com/Prismatic/schema/blob/master/test/clj/sch...
Does that seem like it will meet your needs?