Read on Eugene's paper, which mentions how to overcome the problem with recursive classes via tying the knot using implicits. Pretty cool.