public static ITransformedThing GetTransformedThing(this IThing thing, int arg)
            {
                var x = new GetTransformedThing {
                    Arg = arg
                };

                thing.RunVisitor(x);
                return(x.Result);
            }