Data.TaggedError that has a conventional set of properties but I'm running into an issue where I can't pass a type parameter to the return type of Data.TaggedError (either at the type or value level, i.e. both Data.TaggedError(tag)<A> and type TaggedError<A extends DataErrorProps, Tag extends string> = ReturnType<typeof Data.TaggedError<Tag>><A> produce errors, the latter not even being valid TypeScript). If I don't pass a type parameter A is always inferred as {} (the default), preventing me from passing the props to super(...).