This is very minor, but perhaps using ~s here instead of ~p will print a less erlangy message? That is, it won't show the binary delimiters (<<"default">>  -> default).  That would require bucket types to always be strings (to avoid crashing the resource), which I think is the case.