Maps could be read in from a list of pairs, using the List and Tuple IsForeign instances.
I think there should be a defacto way to read in key-value pairs somehow, but I'm not sure if they should be added to this project or to those specific libraries. I could wrap Map in a newtype, but like I said, I really think we should be able to read Maps.