First part of the refactoring #28
It compile, just don't work as expected.
Tehre is a loss of constraints during the asFM operation.