code: func Get(data []byte, keys ...string) (value []byte, dataType ValueType, offset int, err error) {
  	a, b, _, d, e := internalGet(data, keys...)
  	return a, b, d, e
  }
docs: /*
  Get - Receives data structure, and key path to extract value from.
  
  Returns:
  `value` - Pointer to original data structure containing key value, or just empty slice if nothing found or error
  `dataType` -    Can be: `NotExist`, `String`, `Number`, `Object`, `Array`, `Boolean` or `Null`
  `offset` - Offset from provided data structure where key value ends. Used mostly internally, for example for `ArrayEach` helper.
  `err` - If key not found or any other parsing issue it should return error. If key not found it also sets `dataType` to `NotExist`
  
  Accept multiple keys to specify path to JSON value (in case of quering nested structures).
  If no keys provided it will try to extract closest JSON value (simple ones or object/array), useful for reading streams or arrays, see `ArrayEach` implementation.
  */