When to use subtyping & when not to use it by gakuzzzz