I like nesting types. I saw an issue however where the compiler was confused between a nested type and a non nested type with the same name. Imagine in your example you have a non-nested type called `Option` too. Does it conflict with the nested `Option`? If so, what are some different ways to resolve the conflict?