Do inference when loop is unannotated, even when argument are.
Don't infer for ((lambda when vars are annotated.
Make promise contracts work.
Fix types of min, max, port->lines, subbytes, bytes-length, bytes, bytes-ref
svn: r16397
original commit: a5849fb05af85c586bbd730d220b324018a6673e