I may have asked this before. What's the benefit of holding the type as member and having `getOptionType()` over `getClass()`?