Implementing STLs using C