I think the contents of the pattern also need to be hashed somehow.

If I change `1 => {}` to `2 => {}` then the ABI in a generic function changes