         }
     }
 
-    func forceAsByteBuffer() -> ByteBuffer {
+    public func forceAsByteBuffer() -> ByteBuffer {
         return tryAsByteBuffer()!
     }
 
-    func tryAsOther<T>(class: T.Type = T.self) -> T? {
+    public func tryAsOther<T>(class: T.Type = T.self) -> T? {
         if case .other(let any) = self {
             return any as? T
         } else {

        }
    }

    func forceAsOther<T>(class: T.Type = T.self) -> T {
        return tryAsOther(class: `class`)!
    }
}

    case byteBuffer(ByteBuffer)
    case other(Any)

    public func tryAsByteBuffer() -> ByteBuffer? {
        if case .byteBuffer(let bb) = self {
            return bb
        } else {
