move from positional pattern matching to lens

btw just sanity checked too. this doesn't seem to hurt performance
add INLINEs. improves factorial benchmark by ~5%