It would be really great to figure out a way of doing all of these with stack allocated blocks wherever possible.