make `hash` settable via options