[WIP] Refactor MSM

`available_reversible_type` is undefined