map3 doesn't work with type matching