Create a mzlib/contract compatible version of the old box/c and use that
for mzlib/contract. Change the docs so that the docs for mzlib/contract
contain the right information.
Fix the typed-scheme implementation to only force flat box (or hash)
contracts when it already is required to be flat. Otherwise, allow
non-flat contracts for the element contract (or domain/range contracts).
original commit: 994ad6d10fc817a5ceca2f9f4874dac5c14c0aab