@_infer_type.register(irast.TupleIndirection)
def __infer_struct_indirection(ir, schema):
    struct_type = infer_type(ir.expr, schema)
    result = struct_type.element_types.get(ir.name)
    if (result is None):
        raise ql_errors.EdgeQLError('could not determine struct element type', context=ir.context)
    return result
@_infer_type.register(irast.TupleIndirection)
def __infer_struct_indirection(ir, schema):
    struct_type = infer_type(ir.expr, schema)
    result = struct_type.element_types.get(ir.name)
    if (result is None):
        raise ql_errors.EdgeQLError('could not determine struct element type', context=ir.context)
    return result