unlabel :: Monad m => B.ByteString -> r -> RawDBOperation r m r
unlabel label ref = do
  node <- lift $ get ref
  case node of
    Label label' ref' ->
      if label' == label then
        return ref'
      else
        throwError TypeError
    _ ->
      throwError TypeError
unlabel :: Monad m => B.ByteString -> r -> RawDBOperation r m r
unlabel label ref = do
  node <- lift $ get ref
  case node of
    Label label' ref' ->
      if label' == label then
        return ref'
      else
        throwError TypeError
    _ ->
      throwError TypeError
unlabel label ref = do
  node <- lift $ get ref
  case node of
    Label label' ref' ->
      if label' == label then
        return ref'
      else
        throwError TypeError
    _ ->
      throwError TypeError