Shale/specify idempotent keys

R? @jimdanz 
cc @kyleconroy 
Missing space between ) and !