Fixes #75 - non-unique property names appear after destructuring in some circumstances. Struggling to find a way to do this using the 4.5 reflection APIs that doesn't incur the overhead of creating a hash-set or dictionary.