template< typename Key, typename Value >
void foo( map<Key, Value>& in )
{
    map<Key , Value>::iterator it;
}

これをコンパイルするとエラーになるんですが、
正しくはどう書けばいいんでしょうか?