Cleanup ensured keyword
Make use of in_place.
fix typo on test suite.
Added fmap (needed for if_then_else), if_then_else and fixed unwrap.