t588.scala:3: error: double definition: method visit:(f: Int => String)Boolean and method visit:(f: Int => Unit)Boolean at line 2 have same type after erasure: (f: Function1)Boolean def visit(f: Int => String): Boolean ^ t588.scala:10: error: double definition: method f:(brac: Test.this.TypeB)Unit and method f:(node: Test.this.TypeA)Unit at line 9 have same type after erasure: (brac: Test#TraitA)Unit def f(brac : TypeB) : Unit; ^ two errors found