I finally had an occasion to to use Scala's structured typing, although not in the way it was intended. I needed to call a method on a class that was compiled during runtime. Therefore I had no type information on it. So I cast it to a structural type. Here is something you can try that illustrates the principal: scala> val o:AnyRef = "hi" o: AnyRef = hi scala> o.asInstanceOf[ { def length():Int }