public struct BitwiseStruct { var t: T public init(t: T) { self.t = t } } extension BitwiseStruct: BitwiseCopyable where T: BitwiseCopyable {} public enum BitwiseEnum { case t(T) } extension BitwiseEnum: BitwiseCopyable where T: BitwiseCopyable {}