I'm looking into chessie library. I often times see Trial.lift and Trial.bind functions being used. If I understand it right, Trial.lift takes in a function parameter and executes and returns that function if the piped in result is a success. If that is true, doesn't Trial.bind do the same thing?