Add initial, rough cut of point-mutations
point-mutations: alternate implementation
Revert "point-mutations: alternate implementation"

This reverts commit 0eb941f664adf9f2bea185e3cd37152d924e1370.

I thought the previous implementation was not lazy so I changed it to
this one but I believe the original was lazy (and cleaner!).