map -package:containers -package:basement -package:psqueues -package:Cabal-syntax -package:invertible -package:dense-linear-algebra -package:conduit -package:os-string -package:regex-tdfa -package:dlist -package:text -package:vector package:bloodhound

An associative operation NOTE: This method is redundant and has the default implementation mappend = (<>) since base-4.11.0.0. Should it be implemented manually, since mappend is a synonym for (<>), it is expected that the two functions are defined the same way. In a future GHC release mappend will be removed from Monoid.
Support for type reification of Mappings is currently incomplete, for now the mapping API verbiage expects a ToJSONable blob. Indexes have mappings, mappings are schemas for the documents contained in the index. I'd recommend having only one mapping per index, always having a mapping, and keeping different kinds of documents separated if possible.
MappingName is part of mappings which are how ES describes and schematizes the data in the indices.
putMapping is an HTTP PUT and has upsert semantics. Mappings are schemas for documents in indexes.
>>> _ <- runBH' $ createIndex defaultIndexSettings testIndex

>>> resp <- runBH' $ putMapping testIndex testMapping TweetMapping

>>> print resp
Response {responseStatus = Status {statusCode = 200, statusMessage = "OK"}, responseVersion = HTTP/1.1, responseHeaders = [("content-type","application/json; charset=UTF-8"),("content-encoding","gzip"),("transfer-encoding","chunked")], responseBody = "{\"acknowledged\":true}", responseCookieJar = CJ {expose = []}, responseClose' = ResponseClose}