Initial prototype, adding fst, snd, and thd methods.