         }
         
         /// Takes a sample with the size of `size`. These randomly selected Documents will be passed to the next stage.
-        @discardableResult
         public static func sample(sizeOf size: Int) -> Stage {
             return Stage([
                 "$sample": ["size": size]

        }
        
        /// A match stage only passed the documents that match the query to the next stage
        @discardableResult
        public static func match(_ query: Query) -> Stage {
            return Stage([
                "$match": query

        }
        
        /// A projection stage passes only the projected fields to the next stage.
        public static func project(_ projection: Projection) -> Stage {
            return Stage([
                "$project": projection
