Improve support for fixed vector patterns

This is WIP, I want to get some numbers on the cost of using the slow-path exhaustiveness logic in let and function args.