%% Presented a system accounting for functional and non-functional requirements We have presented an integrated system for container implementation selection, which can take into account the functional and non-functional requirements of the program it is working on. %% Ease of extending / flexibility Our system is extremely flexible, and can be easily extended with new container types and new functionality on those types, as we showed by adding associative collections and several new data types. %% Demonstrated predictive power of profiling and benchmarking, although limited testing We demonstrated that benchmarking of container implementations and profiling of target applications can be done separately and then combined to suggest the fastest container implementation for a particular program. We prove that this approach has merit, although our testing had notable limitations that future work should improve on. We also found that while linear regression is powerful enough for many cases, more research is required on how best to gather and preprocess data in order to best capture an implementation's performance characteristics. %% Researched feasibility of adaptive containers, found issues with overhead and threshold detection We test the effectiveness of switching container implementation as the n value changes, and in doing so find several important factors to consider. %% Future work should focus on minimising overhead and finding the ideal threshold Future work should focus on minimising the overhead applied to every operation, as well as finding the correct threshold at which to switch implementation.