because golang stdlib doesn't contains functional programming primitives