Cherry-picked ignored fields from master
Cherry-picked best of master commits

And removed all variadic functions for Swift friendliness and code reduction