added iterator_traits specialization for chain (could very well be illegal c++ IDC)