[Haskell-cafe] Functor instance for weak pointers?