     public func midiNoteToFrequency() -> AKOperation {
         return AKOperation("(\(self) mtof)")
     }
-}
-
-extension Double: AKParameter {}
-extension Float: AKParameter {}
-extension Int: AKParameter {}
-
-public struct AKOperation: AKParameter  {
-
-    public static var input = AKOperation("(0 p)")
-    public static var trigger = AKOperation("")
-
-    public static func parameters(i: Int) -> AKOperation {
-        return AKOperation("(\(i+1) p)")
-    }
+    
 
     var operationString = ""
     public var description: String {

    }
}

public func abs(parameter: AKParameter) -> AKOperation {
    return parameter.abs()
}

public func floor(parameter: AKParameter) -> AKOperation {
    return parameter.floor()
}

public func fract(parameter: AKParameter) -> AKOperation {
    return parameter.fract()
}

public func log(parameter: AKParameter) -> AKOperation {
    return parameter.log()
}

public func log10(parameter: AKParameter) -> AKOperation {
    return parameter.log10()
}

public func round(parameter: AKParameter) -> AKOperation {
    return parameter.round()
}



import Foundation

public protocol AKParameter: CustomStringConvertible {}
extension Double: AKParameter {}
extension Float: AKParameter {}
extension Int: AKParameter {}

public struct AKOperation: AKParameter  {
    
    public static var input = AKOperation("(0 p)")
    public static var trigger = AKOperation("")
    
    public static func parameters(i: Int) -> AKOperation {
        return AKOperation("(\(i+1) p)")
    }

    public func abs() -> AKOperation {
        return AKOperation("(\(self) abs)")
    }
