Compiler not recognising overloaded method

Since Generics, some new languages (as Go, Rust or Dart) abandoned overloading since the design. They opted for removing a lot of complexity when having both.