def gintersect(x: sctIdGroups_or_Error, y: sctIdGroups_or_Error) -> sctIdGroups_or_Error: if x.inran("gerror") or y.inran("gerror"): return gfirst_error(Seq(sctIdGroups_or_Error)(x, y)) return sctIdGroups_or_Error(group_value=x.group_value.intersect(y.group_value))
def gunion(x: sctIdGroups_or_Error, y: sctIdGroups_or_Error) -> sctIdGroups_or_Error: if x.inran("error") or y.inran("error"): return first_error(Seq(Sctids_or_Error)(x, y)) return sctIdGroups_or_Error(group_value=x.group_value.union(y.group_value))