You are searching for monads)