reformat
added a Vector monoid
added explicit map implementations so that the map implementation gets tested