 //
 
 import Foundation
+import BigInt
 
 public typealias Byte = UInt8
 

        return nil
    }

    internal static var all: [Nucleotide] {
        return [ .a, .c, .g, .t ]
    }

    public static var random: Nucleotide {
        return Nucleotide.all[Int(arc4random() % 4)]
    }

    public static prefix func !(nucleotide: Nucleotide) -> Nucleotide {
        switch nucleotide {
        case .a:
            return .t

}

public enum Nucleotide: Byte, CharConvertible, Equatable {
    case a = 0 // adenine
    case c = 1 // cytosine
    case g = 2 // guanine
    case t = 3 // thymine
    
    public var charValue: Character {
        switch self {
