I find the names `map_to` and `map_to_as_chain` to be confusing...it's not clear to me what they are supposed to mean.  Can you explain them?  Or maybe a different name is better...I'm unsure right now.