Added list to Dictionary and Facts

> Just curious, why is there a Try?

No good reason - just annoyed me at the time (and still does) that that method can throw a `RuntimeException`. I've fixed it to get `isSetOptional` which is cleaner anyway.