merge_with applies func on values if func takes many args

See #13 

Not sure if this should go in.  This fails on Python builtins.