Added pentagon and edge interpolation. `swim` function isn't reliable for certain tests, but `course` appears to be accurate and equivalent for testing.