Add some more sample about monads
Add samples
Add fail implementation
Return does not deal with anything, it simply injects value in monadic world
Add expectations tests (avoiding use case in comments)