   public var destinationOperand: Operand { return operands[1] }
   public var source: Value { return sourceOperand.value }
   public var destination: Value { return destinationOperand.value }
-  
+
   // must match with enum class StoreOwnershipQualifier
   public enum StoreOwnership: Int {
     case unqualified = 0, initialize = 1, assign = 2, trivial = 3


final public class TryApplyInst : TermInst, FullApplySite {
  public var numArguments: Int { TryApplyInst_numArguments(bridged) }
  
  public var normalBlock: BasicBlock { successors[0] }
  public var errorBlock: BasicBlock { successors[1] }
  
  public var singleDirectResult: Value? { normalBlock.arguments[0] }
}

final public class BranchInst : TermInst {
  public var targetBlock: BasicBlock { BranchInst_getTargetBlock(bridged).block }
  
  public func getArgument(for operand: Operand) -> Argument {
    return targetBlock.arguments[operand.index]
  }

  final public var description: String {
    SILNode_debugDescription(bridgedNode).takeString()
  }

  final public var operands: OperandArray {
    return OperandArray(opArray: SILInstruction_getOperands(bridged))
  }

  fileprivate var resultCount: Int { 0 }
  fileprivate func getResult(index: Int) -> Value { fatalError() }

