added a real? generator
fix contract on disk

(bug found by random testing)
add generator for (and/c real? (not/c negative?)) and (and/c rational? (not/c negative?))
and fix -> generator for mandatory keyword arguments