:: Eq a => [a] -> [a] -> [a] -> [a] package:lifted-base

Generalized version of bracket_. Note any monadic side effects in m of both the "acquire" and "release" computations will be discarded. To keep the monadic side effects of the "acquire" computation, use bracket with constant functions instead. Note that when your acquire and release computations are of type IO it will be more efficient to write:
liftBaseOp_ (bracket_ acquire release)