Perhaps add a line with the corresponding call to `liftM` here as documentation of how this method helps inference.