docs: public Map<String, Reflect> fields() {
          Map<String, Reflect> result = new LinkedHashMap<String, Reflect>();
          Class<?> t = type();
  
          do {
              for (Field field : t.getDeclaredFields()) {
                  if (type != object ^ Modifier.isStatic(field.getModifiers())) {
                      String name = field.getName();
  
                      if (!result.containsKey(name))
                          result.put(name, field(name));
                  }
              }
  
              t = t.getSuperclass();
          }
          while (t != null);
  
          return result;
      }