         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 {
+    public static prefix func ! (nucleotide: Nucleotide) -> Nucleotide {
         switch nucleotide {
         case .a:
             return .t

//

import Foundation

public typealias Byte = UInt8


}

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 {
