Got rid of lenses for Machine

Turns out pattern matching works just fine, and not relying on
template haskell makes generating profiling builds easier, too.