code: public static <K, V> TypeChecker<Map<? extends K, ? extends V>> tMap(Class<? extends K> keyType, Class<? extends V> valueType) {
          return tMap(tSimple(keyType), tSimple(valueType));
      }
docs: Creates a recursing type checker for a {@link java.util.Map}.
  
  @param keyType The class to check the keys against
  @param valueType The class to check the values against
  @return a typechecker for a Map containing keys and values of the specified types