In commits ee21e, dec00c5, 19826c, I modified the type checking code
to handle tuple return types from function calls.  (Essentially, calls
an unwrap function on every type dict that gets passed in, which
removes the potential tuple-ness from the type.)  I missed a couple of
places for removing the tuple-ness when checking accessing map and
list types.  This commit fixes those oversights.
Merge remote-tracking branch 'origin/master' into v4
Emitting while statement as well.