Add return-type annotation for lookup.
q3: Add Map struct definitions.
q3: Remove redundant forward declarations.
Turn insertWith invocation into lookup-based solution.
q3: Switch global_partial_result to be a _Map.
Switch lambdas to const&, turn offending binds to projections.

A bind can't be used if the thing its destructing is a const&, since
writeback would be illegal. Normally we'd transform something to const&
only if it was immutable, but...

It looks like we need to split bind's functionality into two --
destructuring and writeback. The first can be done on immutable values,
the second not so much.