Added a circular ray, and a function detect a word.

Also dealt with some type erasure/hiding because today I got a little
generics-happy.