Missing dict keys

This should really be improved on when we update forms. There are a ton of better ways to do this.

All tests pass.
Is it possible that the same key can be passed in multiple times? If we check in one dict and then remove from another, we could still run into the same issue.