sets: drop use of insertInPlace as it is too temperamental

Signed-off-by: Peter Williams <pwil3058@gmail.com>
workarounds: split work around code into two separate cases

Signed-off-by: Peter Williams <pwil3058@gmail.com>
grammar item key: re-implement as a struct instead of a class

Signed-off-by: Peter Williams <pwil3058@gmail.com>