%% 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 to our library. %% Demonstrated predictive power of profiling and benchmarking, although limited testing We demonstrated how benchmarking of container implementations and profiling of target applications can be done separately and then combined. 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 on finding the correct threshold at which to switch implementation.