[ANN] ManualDispatch.jl

Because abstract types can be extended with new subtypes, while unions cannot: