we have a lot of types defined for this same thing. one, less accurate example, https://github.com/basho/riak_core/blob/develop/src/chash.erl#L68