docs: function getProp(propName) {
        var bindGetters = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
        var bindTo = arguments.length > 2 ? arguments[2] : undefined;
        // $FlowFixMe
        var proto = Object.getPrototypeOf(this);
        var descriptor = Object.getOwnPropertyDescriptor(proto, propName);
        var result;
  
        if (!descriptor) {
          return null;
        }
  
        if (descriptor) {
          if (descriptor.initializer || descriptor.get) {
            var what = descriptor.initializer || descriptor.get;
  
            if (bindGetters) {
              result = what.bind(bindTo || this);
            } else {
              result = what;
            }
          } else if (descriptor.value) {
            result = descriptor.value;
          }
        }
  
        return result;
      }