duck typing in scala is called structural typing