duck typing in Ruby