Add withShareMaybe and withShareEither. Add documentation.