def decode(self, tpe: Type[Path], data: Json) -> Either[JsonError, Path]: return data.scalar.flat_e( lambda: JsonError(data, f'invalid type for `Path`'), Try(Path, data.data))
def decode(self, tpe: Type[UUID], data: Json) -> Either[JsonError, UUID]: return data.scalar.flat_e(f'invalid type for `UUID`: {data}', Try(UUID, data.data))