Add function `funpair` , fix an error of `gmapf`

The return type of map should be the function's return type. shouldn't
assume that the return type is identical to the type of the
generator(found this error when using `zip`)