It's only from the point that I can't consider the placeholder atoms separately as two separate specs. I can see how the somewhat opaque tuple isn't helping the API be more obvious. I'll split it out but also add some documentation to make sure that uses don't accidentally alias key-parts and value-parts.