I think he forgot the extends Base
And the reason it does not work: BM has no overloading so you can not have the same method with different types accepting than the original definition for this scope.
And the reason it does not work: BM has no overloading so you can not have the same method with different types accepting than the original definition for this scope.