List<T> parse(List<dynamic> json) => json.map((e) => parseInternal(constructors[T]!, e)).cast<T>().toList();