Current patterns attempt to immediately create type-consistent stores by bitcasting the value to the type-hint leading to needless code duplication.
This patch extracts that case into its own pattern, allowing other patterns to create type-inconsistent stores and have subsequent pattern applications turn it into a type-consistent store.
nit: contradicts